我正在尝试找到一种方法来整合Sweave中apa R程序包的统计输出。
我需要使用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
函数更改格式,并且每个输出都会产生不同的问题:
*乳胶:产生textit(并且不会使“ F”斜体或“ p”)
* markdown:使'*'而不是斜体。
*文本:不产生斜体或部分eta平方符号。
这可以在Rmarkdown中轻松实现,但是我还有很多其他问题。
有什么建议吗?这可能包括:用于Sweave中APA报告的不同程序包,用于集成Latex和Rcode(并使用程序包)的不同方法或对先前输出的修复。
谢谢!
答案 0 :(得分:1)
\Sexpr
宏似乎可以“吃掉” 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
或类似的方法来做同样的事情,如果您知道自己在做些小动作的话。我不知道。)
输出为