Rmarkdown pdf输出中lm函数的R摘要的精确乳胶输出
Posted
技术标签:
【中文标题】Rmarkdown pdf输出中lm函数的R摘要的精确乳胶输出【英文标题】:Exact latex output for R summary of lm function in Rmarkdown pdf output 【发布时间】:2022-01-23 04:41:56 【问题描述】:当我们像这样拟合线性模型时,
x <- c(1.52, 1.6, 1.68, 1.75, 1.83)
y <- c(1.69, 1.74, 1.80, 1.93, 2.0)
fit <- lm(y ~ x)
summary(fit)
输出:
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5
0.021416 -0.012387 -0.036190 0.020482 0.006679
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.07633 0.19447 0.392 0.72093
x 1.04754 0.11579 9.047 0.00285 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.0282 on 3 degrees of freedom
Multiple R-squared: 0.9646, Adjusted R-squared: 0.9529
F-statistic: 81.85 on 1 and 3 DF, p-value: 0.002852
所以,我想要的是这个“精确”表的乳胶输出,用于Rmarkdown
pdf 输出文件。我不希望生成的输出会更改表或不包含该表中的某些信息。我的意思是,完全相同的输出,但在latex
输出中。
示例输出类似于此图像,但对于单个回归模型,并且还包含summary(lm(y~x))
生成的所有信息
注意:我使用过 sjPlot
、stargazer
、texreg
等这些库。
目前我正在使用R version 4.1.2
【问题讨论】:
所以你想要完全相同的输出,但不同。您希望它包含与summary()
完全相同的信息,但您的示例不(例如)包含summary()
具有的残差,它确实包含N
和置信区间,summary()
不包含't have... 和 stargazer
和 texreg
还不够好,但你还没说为什么?
【参考方案1】:
使用echo=FALSE
会产生您想要的结果。
---
output: pdf_document
---
```r, echo=FALSE
x <- c(1.52, 1.6, 1.68, 1.75, 1.83)
y <- c(1.69, 1.74, 1.80, 1.93, 2.0)
fit <- lm(y ~ x)
summary(fit)
```
【讨论】:
感谢您的回答。但这不是我想要的。我已经编辑了帖子,以便每个人都更清楚所需的输出。【参考方案2】:我是 modelsummary
制作桌子的忠实粉丝
library(tidyverse)
library(modelsummary)
library(broom)
library(kableExtra)
df = tibble(x = c(1.52, 1.6, 1.68, 1.75, 1.83),
y = 1.69, 1.74, 1.80, 1.93, 2.0 )
fit <- lm(y ~ x , data = df)
tidy(fit)
modelsummary(fit,
output = "kableExtra")
这将产生一个非常基本的LaTeX
表。但是,如果您想按 dvs 对它们进行分组,您可以在估算模型时执行类似的操作,然后使用 broom
,然后
data("iris")
iris = iris %>%
mutate(versicolor = ifelse(Species == "versicolor", 1, 0),
virginica = ifelse(Species == "virginica", 1, 0))
## pass it to tidy for each model
tidy(model1)
modelsummary(list( model1 , model2, model3,
model4, model5, model6),
output = "kableExtra") %>%
add_header_above(c(" " = 1 , "Petal Length" = 3 , "Sepal Width" = 3))
这应该让您接近您正在寻找的东西!您可能需要查看kableExtra
中的更多选项。
【讨论】:
以上是关于Rmarkdown pdf输出中lm函数的R摘要的精确乳胶输出的主要内容,如果未能解决你的问题,请参考以下文章
在 for 循环 r markdown 中包含两个变量之间的空格(pdf 输出)
r 将列表名称与列表级别组合以模仿R中的摘要(lm(...))对象的系数输出(也称为smushed变量名称)