【发布时间】:2019-10-08 08:51:57
【问题描述】:
我正在寻找格式良好的 Markdown 测试结果输出,该输出在 for 循环中生成并带有标题。例如
df <- data.frame(x = rnorm(1000),
y = rnorm(1000),
z = rnorm(1000))
for (v in c("y","z")) {
cat("##", v, " (model 0)\n")
summary(lm(x~1, df))
cat("##", v, " (model 1)\n")
summary(lm(as.formula(paste0("x~1+",v)), df))
}
而输出应该是
y(型号 0)
Call:
lm(formula = x ~ 1, data = df)
Residuals:
Min 1Q Median 3Q Max
-3.8663 -0.6969 -0.0465 0.6998 3.1648
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.05267 0.03293 -1.6 0.11
Residual standard error: 1.041 on 999 degrees of freedom
y(模型 1)
Call:
lm(formula = as.formula(paste0("x~1+", v)), data = df)
Residuals:
Min 1Q Median 3Q Max
-3.8686 -0.6915 -0.0447 0.6921 3.1504
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -0.05374 0.03297 -1.630 0.103
y -0.02399 0.03189 -0.752 0.452
Residual standard error: 1.042 on 998 degrees of freedom
Multiple R-squared: 0.0005668, Adjusted R-squared: -0.0004346
F-statistic: 0.566 on 1 and 998 DF, p-value: 0.452
z(型号 0)
等等……
有几个结果讨论了问题的某些部分,例如here 或here,建议将asis-tag 与cat-statement 结合使用。 This one 包括标题。
最接近我的请求似乎是两年前的this question。但是,尽管受到高度赞赏,但有些建议已被弃用,例如 asis_output,或者我无法让它们在 formattable 建议等一般条件下工作(例如 withlm-output)。我只是想知道——从那时起已经过去了两年——是否有一种现代方法可以促进我正在寻找的东西。
【问题讨论】:
-
您在此处显示的输出是您希望每个模型输出的格式吗?或者您还想为每个模型打印其他内容吗?
-
我希望统计测试对象的简单 print 或 print.summary 语句的输出格式良好。我不需要与此输出一起打印的其他信息。但我确实在循环之前和之下有 R 代码,我也希望将其包含在呈现的文档中。
-
我找到了另一个解决方案@Tom,我想这就是你真正想要的。
标签: r r-markdown