我尝试让 Latex 和 knitr 做一个标准化的\Sexpr{} 统计输出。
示例:我计算了与
mycor<-cor.test(a,b)
假设结果是:
Pearson's product-moment correlation
data: a and b
t = 2.9413, df = 54, p-value = 0.004805
alternative hypothesis: true correlation is not equal to 0
95 percent confidence interval:
0.1204668 0.5780293
sample estimates:
cor
0.3715985
我如何“教”LaTeX 生成输出
r(54)=.37,p < .01
无需写
$r(\Sexpr{mycor$parameter)=\Sexpr{mycor$estimate}$, $p < .05$
每时每刻?
我想编写一个命令,为我报告的每个相关性执行此操作。请注意,我正在寻找一种可能性,让它自动将 p = 0.004805 转换为 p<.01。
顺便说一句:我试着用
\newcommand{\repcor}[1]{$r(\Sexpr{#1$parameter)=\Sexpr{#1$estimate}$}
但这不起作用...
先感谢您!
本杰明
最佳答案
为什么不写一个函数来输出你想要的东西。例如,在文档的开头,有:
<<echo=FALSE, tidy=FALSE>>=
trans = function(mycor) {
out1 = paste0("$r(", mycor$parameter, ") = ", signif(mycor$estimate, 2), "$,")
p = mycor$p.value
cutpoints = c(0, 0.001, 0.01, 0.05, 0.1, 1)
round_p = cut(p, cutpoints, labels=cutpoints[-1])
p_value = paste0("$p < ", round_p, "$" )
paste(out1, p_value)
}
@
这允许
\Sexpr{trans(mycor)}
随心所欲地工作。
关于r - 使用\Sexpr 标准化测试统计输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875443/