我怎样才能很好地发布回归公式?
fit1<-dynlm(dep~indep1+indep2+indep3)
s1<-summary(fit1)
s1$call
我该如何编织
s1$call
?我的意思是我不想在我的 pdf 文档中包含类似 `dynlm(formula=dep~indep1+indep2+indep3)´ 的内容。我更喜欢这种函数调用风格的教科书风格。另外我想(手动?)向模型添加截距和错误项(因为它实际上在那里)。请注意,我找到了
outreg
在谷歌上(现在似乎有点过于重量级)并且乍一看并不完全符合我的需求。编辑:尝试发布示例输出,实际上我很乐意,但我不知道如何使用 SO 编辑器做得更好:
dep = alpha + beta_1*indep1 + beta_2*indep2 + beta_3*indep3 + epsilon
一些矩阵符号也可以,但无论如何打印模型定义都会很好。当然,手动添加也是可能的,但是当您处于稳健性检查阶段时,模型变量可能会经常更改,并且文档必须是最新的。
(使用 http://texify.com :)
最佳答案
这个 Rnw 文件:
\documentclass{article}
\begin{document}
<<>>=
data("USDistLag", package = "lmtest")
library(dynlm)
dfm1 <- dynlm(consumption ~ gnp + L(consumption), data = USDistLag)
@
<<echo=FALSE>>=
cc <-dfm1$call
f <- cc$formula
LHS <- as.character(f)[2]
RHS <- as.character(f)[3]
coefs <- gsub(" +","",strsplit(RHS,"\\+")[[1]])
mbox <- function(x) { paste("\\\\mbox{",x,"}",sep="") }
pars <- paste("\\\\beta_",0:(length(coefs)-1),sep="")
p <- paste(mbox(LHS),"=",paste(pars,mbox(coefs),sep=" \\\\cdot ",collapse="+"),
"+ \\\\epsilon")
@
$$
\Sexpr{p}
$$
\end{document}
导致这个 TeX 片段:
\documentclass{article}
\begin{document}
\begin{Schunk}
\begin{Sinput}
> data("USDistLag", package = "lmtest")
> library(dynlm)
> dfm1 <- dynlm(consumption ~ gnp + L(consumption), data = USDistLag)
\end{Sinput}
\end{Schunk}
$$
\mbox{consumption} = \beta_0 \cdot \mbox{gnp}+\beta_1 \cdot \mbox{L(consumption)} + \epsilon
$$
\end{document}
关于r - 如何发布(sweave)回归公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6378942/