相关疑难解决方法(0)

编程R/Sweave以获得正确的\ Sexpr输出

我在为Sweave编程R时遇到了一些问题,#rstats twitter组经常指向这里,所以我想我会把这个问题提到SO人群中.我是一名分析师 - 而不是程序员 - 所以在我的第一篇文章中轻松一点.

问题在于:我正在起草一份带有R的Sweave调查报告,并希望报告边际收益\Sexpr{}.例如,而不是说:

只有14%的受访者表示'X'.

我想写这样的报告:

只有\ Sexpr {p.mean(variable)} $ \%$的受访者表示'X'.

的问题是,Sweave表达式的结果转换中\Sexpr{}为字符串,这意味着从在R和表达出现我的文档中的输出的输出是不同的.例如,上面我使用函数'p.mean':

p.mean<- function (x) {options(digits=1)  
mmm<-weighted.mean(x, weight=weight, na.rm=T)  
print(100*mmm)  
}
Run Code Online (Sandbox Code Playgroud)

在R中,输出如下所示:

p.mean(variable)
>14
Run Code Online (Sandbox Code Playgroud)

但是当我使用时\Sexpr{p.mean(variable)},我的文档中会得到一个未连接的字符串(在本例中为13.5857142857143).我试图将函数的输出限制digits=1在全局环境,函数本身和各种命令中.它似乎只包含R打印,而不是表达式结果的字符转换,最终打印在LaTeX文件中.

as.character(p.mean(variable))  
>[1] 14  
>[1] "13.5857142857143"  
Run Code Online (Sandbox Code Playgroud)

有谁知道我可以,或者通过重新编程R函数或与Sweave或设置做以限制LaTeX的文件打印的数字\Sexpr{}

latex r pdflatex sweave

7
推荐指数
1
解决办法
5737
查看次数

标签 统计

latex ×1

pdflatex ×1

r ×1

sweave ×1