如何在 Sweave 中生成 APA 样式的统计输出?
How to produce APA style statistical output in Sweave?
我正在尝试找到一种方法来将 apa R 包的统计输出集成到 Sweave 中。
我需要使用 ez 包进行统计分析(因为我需要输入 3 平方和)。这与 Rmarkdown 完美配合,但我在 Sweave 中遇到输出格式问题。
\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
\section*{Results}
<<echo=FALSE, results=hide>>=
library(knitr)
library(ez)
library(apa)
subject<- c(1:40)
reward<- rep(c("p", "s", "p", "s", "s", "p", "s", "p", "s", "p"), 4)
class<- rep(c("ST", "GT", "ST", "GT", "GT", "ST", "GT", "ST", "GT", "ST"), 4)
value<- runif(40, min=0, max=5)
df<- data.frame(subject, reward, class, value)
df$subject<- as.factor(df$subject)
analysis<- ezANOVA(data= df, dv=.(value), wid= .(subject),between = .(class), detailed= TRUE, type= 3)
apa.format<- apa(analysis, format= "text")
@
The results, \Sexpr{(apa.format[2,2])}, indicate...
\end{document}
它应该产生的结果是:
F(1, 38) = 0.93,p = .341,ηp² = .02
我试图从 apa
函数更改格式,但每个输出都会产生不同的问题:
* latex:生成 textit(它不会使 'F' 斜体或 'p')
*降价:使'*'而不是斜体。
* 文本:不产生斜体或部分 eta 平方符号。
这可以在 Rmarkdown 中轻松实现,但是我还有很多其他问题。
建议?这可能包括:Sweave 中用于 APA 报告的不同包、集成 Latex 和 Rcode(和使用包)的不同方式或对先前输出的修复。
谢谢!
\Sexpr
宏出现在 "eat" apa()
放入输出的反斜杠中,因此您需要将它们加倍。所以选择"latex"
格式,然后双反斜杠:
apa.format <- apa(analysis, format= "latex")
apa.format <- gsub("\", "\\", as.matrix(apa.format), fixed = TRUE)
这修复了 apa.format
的所有条目,因此它们与 \Sexpr
兼容。 as.matrix
是必需的,因为 apa.format
是一个小标题,它不能很好地与 gsub()
一起使用。 (我想你可以使用 mutate
或类似的东西做同样的事情,如果你知道你在用 tibbles 做什么。我不知道。)
输出是
我正在尝试找到一种方法来将 apa R 包的统计输出集成到 Sweave 中。
我需要使用 ez 包进行统计分析(因为我需要输入 3 平方和)。这与 Rmarkdown 完美配合,但我在 Sweave 中遇到输出格式问题。
\documentclass{article}
\begin{document}
\SweaveOpts{concordance=TRUE}
\section*{Results}
<<echo=FALSE, results=hide>>=
library(knitr)
library(ez)
library(apa)
subject<- c(1:40)
reward<- rep(c("p", "s", "p", "s", "s", "p", "s", "p", "s", "p"), 4)
class<- rep(c("ST", "GT", "ST", "GT", "GT", "ST", "GT", "ST", "GT", "ST"), 4)
value<- runif(40, min=0, max=5)
df<- data.frame(subject, reward, class, value)
df$subject<- as.factor(df$subject)
analysis<- ezANOVA(data= df, dv=.(value), wid= .(subject),between = .(class), detailed= TRUE, type= 3)
apa.format<- apa(analysis, format= "text")
@
The results, \Sexpr{(apa.format[2,2])}, indicate...
\end{document}
它应该产生的结果是:
F(1, 38) = 0.93,p = .341,ηp² = .02
我试图从 apa
函数更改格式,但每个输出都会产生不同的问题:
* latex:生成 textit(它不会使 'F' 斜体或 'p')
*降价:使'*'而不是斜体。
* 文本:不产生斜体或部分 eta 平方符号。
这可以在 Rmarkdown 中轻松实现,但是我还有很多其他问题。
建议?这可能包括:Sweave 中用于 APA 报告的不同包、集成 Latex 和 Rcode(和使用包)的不同方式或对先前输出的修复。
谢谢!
\Sexpr
宏出现在 "eat" apa()
放入输出的反斜杠中,因此您需要将它们加倍。所以选择"latex"
格式,然后双反斜杠:
apa.format <- apa(analysis, format= "latex")
apa.format <- gsub("\", "\\", as.matrix(apa.format), fixed = TRUE)
这修复了 apa.format
的所有条目,因此它们与 \Sexpr
兼容。 as.matrix
是必需的,因为 apa.format
是一个小标题,它不能很好地与 gsub()
一起使用。 (我想你可以使用 mutate
或类似的东西做同样的事情,如果你知道你在用 tibbles 做什么。我不知道。)
输出是