我是R markdown
的忠实粉丝,发现它比编织LaTeX快速项目文档(少于15页)更容易。但是,我还必须支持其他统计数据包(SPSS
,Stata
+ SAS
),并且想知道这些包的等效解决方案。
在某种程度上,这可能会回到使用某种原始Noweb
代码+ markdown文件在命令行上编译。我想从R调用其他软件包是另一种选择。
我看过John Muschelli的这个例子:http://rpubs.com/muschellij2/3888看起来好像他把Stata代码编织成了一个R markdown文件。
有人可以提供有关如何在Stata,SAS或SPSS中完成此操作的具体示例吗?
我知道SASweave
和StatWeave
(后者显然已被打破了???),但我认为降价解决方案在我们的案例中会更有利。
答案 0 :(得分:6)
Stata有自己的SMCL用于注释日志,M代表标记。不同语言的主要原因是,在没有文档结束的情况下,即在交互式会话中,必须逐行创建和解释SMCL。这是Stata在您要求时自动创建的注释,并且可以由用户或程序员规定,作为调整Stata显示选择的一种方式。
与您的问题的可能联系是SMCL可以转换为HTML,从而打开了各种各样的大门。因此,在Stata中很容易做的事情就是做一些工作,在SMCL中保留一个log
文件,然后将日志文件转换为HTML。如果没有进一步的工作,你就不会得到任何真正好的东西,但是进一步的工作很简单,相当于你在任何方式做的事情,但是在你最喜欢的文本编辑器或文本处理器中,而不是在Stata中。
log2html
Stata用户可以使用ssc inst log2html
进行安装,从而更轻松。它利用了Stata中没有记录的功能。
Stata的帮助文件也可以以相同的方式转换为HTML(但如果使用官方帮助文件执行此操作,请考虑版权问题;使用您自己的帮助文件可以公平地发挥作用)。
答案 1 :(得分:4)
John Muschelli向我指出了这个Stata计划:
https://github.com/amarder/stata-tutorial/blob/master/knitr.do
它解析包含markdown和Stata代码的.domd
文件,并生成一个带有已执行Stata代码的.md
文件。要解析的文件的名称位于knitr.do
文件的末尾。
更具体:
从https://github.com/amarder/stata-tutorial/blob/master/knitr.do
knitr.do
文件
从https://github.com/amarder/stata-tutorial/blob/master/clustered-standard-errors.domd
clustered-standard-errors.domd
文件
将它们保存在某个目录中。
修改knitr.do
的最后一行以反映其目录的完整路径(例如
D:\ Desktop \ knit_example \ clustered-standard-errors.domd
运行knitr.do
以获取降价(.md
)文件(以及中间.md1
文件)。
请注意knitr.do
包含执行工作的程序和一行(最后一行):
knit "whatever-file.domd"
调用该程序。
所以你基本上写一个.domd
文件[步骤(2)只是一个例子]包含Markdown语法和Stata命令,运行knitr.do
调整文件名,并获得一个Markdown文件执行Stata命令。
有几点需要注意:
答案 2 :(得分:2)
我不确定这是否是您想要的,但是如果您想在SAS中创建包含统计报告的.html文件,那么您可以使用输出传送系统(ODS)。
示例语法为:
ods html file='pathofdirectory\filename.html' <additional options>;
proc print... (SAS code that generates output)
proc means...
proc freq...
proc gchart...
proc gplot...
...
ods html close;
答案 3 :(得分:1)
基本上我现在使用SPSS和R编写的自动报告都有html shell。然后代码只更新或插入所需的表格和图形。它们完全独立,可重复,并且可以在每周或每月定时器上运行而无需人工干预。他们只是没有准确定义表格生成方式的内联代码块(您必须稍微跟踪代码才能弄清楚 - 但这不是太繁重的IMO)。
因为SPSS允许您从Python命令提示符运行SPSS代码,所以理论上可以使用调用SPSS的Python代码编写文档。我不太确定我看到了这个优势,而不是在单独的地方有更多的分段代码。您真的想要阅读100行以SQL查询开头的SPSS代码,进行一些转换并生成表格和图形吗?您是否愿意看到表格和图表,然后如果对细节感兴趣,请返回查看准备所有数据的DataPrep.sps
,然后查看Table1.sps
和Figure1.sps
等。看看它们是如何制作的?