R以外的其他统计数据包中的降价



我是R markdown的忠实粉丝,发现它比编写LaTeX更快的项目文档(不到15页)更容易。然而,有时我还必须支持其他Statistics包(SPSSStata+SAS),并想知道这些包的等效解决方案。

在某种程度上,这可能会回到使用某种原始Noweb代码+markdown文件通过命令行进行编译。我想从R调用其他包是另一种选择。

我看过John Muschelli的这个例子:http://rpubs.com/muschellij2/3888看起来好像他把Stata代码编织成了一个R标记文件。

有人能提供具体的例子说明如何在Stata、SAS或SPSS中做到这一点吗?

我确实知道SASweaveStatWeave(后者显然坏了???),但我认为在我们的情况下,降价解决方案会更有优势

Stata有自己的SMCL用于日志注释,M代表标记。使用不同语言的主要原因是,在看不到文件结尾的情况下,即在交互式会话中,必须逐行创建和解释SMCL。这是Stata在您要求时自动创建的注释,用户或程序员可以指定它作为调整Stata显示选项的一种方式。

与您的问题可能的联系是,SMCL可以翻译成HTML,这打开了各种各样的大门。因此,在Stata中很容易做一些工作,在SMCL中保留一个log文件,然后将日志文件转换为HTML。如果没有进一步的工作,你不会得到任何真正好的东西,但进一步的工作很容易,相当于用任何方式做你想做的事情,但在你最喜欢的文本编辑器或文本处理器中,而不是在Stata中。

Stata用户可以使用ssc inst log2html安装的log2html使这一点变得更容易。它利用了Stata中未记录的功能。

Stata的帮助文件也可以用同样的方式翻译成HTML(但如果使用官方帮助文件,请考虑版权问题;使用自己的帮助文件是公平的)。

John Muschelli向我介绍了这个Stata程序:

https://github.com/amarder/stata-tutorial/blob/master/knitr.do

它解析一个包含markdown和Stata代码的.domd文件,并生成一个包含已执行Stata代码在内的.md文件。要解析的文件的名称位于knitr.do文件的末尾。

更具体地说:

  1. 从下载knitr.do文件https://github.com/amarder/stata-tutorial/blob/master/knitr.do

  2. 从下载clustered-standard-errors.domd文件https://github.com/amarder/stata-tutorial/blob/master/clustered-standard-errors.domd

  3. 将它们都保存在某个目录中。

  4. 修改knitr.do的最后一行以反映其目录的完整路径(例如。D:\Desktop\knit_example\集群标准错误.domd

  5. 运行knitr.do以获得markdown(.md)文件(以及一个中间的.md1文件)。

注意,knitr.do包含执行工作的程序和一行(最后一行):

knit "whatever-file.domd"

调用程序。

因此,您基本上编写了一个包含Markdown语法和Stata命令的.domd文件[步骤(2)的文件只是一个示例],运行knitr.do调整文件名,并获得一个执行了Stata命令后的Markdown文件。

有几个注意事项:

  • 只允许使用一个liner Stata命令。例如,循环不起作用
  • ".dmd"不能是文件名的一部分
  • 如果Stata命令出现错误,则用户不会得到返回代码
  • 如果程序运行时用户点击Break按钮,或者出现Stata命令错误,则需要手动关闭文件句柄

我不确定这是否是您想要的,但如果您希望在SAS中创建包含统计报告的.html文件,那么您可以使用输出传递系统(ODS)。

语法示例为:

ods html file='pathofdirectoryfilename.html' <additional options>;
    proc print...  (SAS code that generates output)
    proc means...
    proc freq...
    proc gchart...
    proc gplot...
    ...        
ods html close;

SPSS(我想还有SAS)需要将所有内容都写入磁盘,这会降低一次性编译的吸引力。与Yick提到的类似,SPSS有一个输出系统,可以从一开始就编写自动报告,并导出到HTML、PDF或Word。这不是最容易让人看起来好看的事情,但它是可能的,并且正在定期推出用于简化自动编辑(主要通过Python脚本)的附加功能。

基本上,我现在使用SPSS和R编写的自动化报告都有html外壳。然后,代码只更新或插入所需的表和图。它们是完全独立的、可复制的,并且在没有人为干预的情况下每周或每月运行。他们只是没有内联代码块来准确定义表是如何生成的(你必须稍微追溯代码才能弄清楚——但这并不太繁重)。

因为SPSS允许你从Python命令提示符下运行SPSS代码,所以理论上你可以用调用SPSS的Python代码编织一个文档。不过,我不太确定我是否看到了在不同的地方有更多分段代码的优势。你真的想阅读100行SPSS代码吗?这些代码从SQL查询开始,进行一些转换,生成一个表和一个图?你不想看看表格和图表,然后如果对细节感兴趣,回去看看准备所有数据的DataPrep.sps,然后看看Table1.spsFigure1.sps等,看看它们是如何产生的吗?

最新更新