【发布时间】:2021-06-18 00:14:35
【问题描述】:
在 R Markdown 中打印 summary 函数的结果时遇到了一个奇怪的问题。我正在编译我的分析结果的 html 文档,但我注意到显示统计显着性的摘要列正在环绕到其余数据下方的下一个系列,而不是形成单个系列的行。具体来说,这似乎是由系数名称的长度驱动的,该名称表示分组变量和数字对数变换自变量之间的交互作用,该变量被提升为小数指数。但是,因为我的分组变量有 27 个级别,所以会浪费大量空间。
奇怪的是查看汇总表的实际打印,似乎有足够的空间来保持重要性列与估计值一致,std。误差、t 值和 p 值。我不知道是什么驱使它环绕。下图是我编写代码时的样子。
下面是一些使用mtcars 数据集复制问题的代码。我已经对此进行了测试,它应该可以使用普通的 html_document 格式。
data(mtcars)
data.frame(mtcars)
mtcars$supercalifragilisticexpialidocious1234a<-mtcars$cyl #renaming character to same character length as my data.
mtcars$supercalifragilisticexpialidocious1234b<-mtcars$mpg
summary(lm(supercalifragilisticexpialidocious1234b~supercalifragilisticexpialidocious1234a,data=mtcars))
字符名称如此长的原因是,在实际数据集中,它们代表了分类群的学名(最长为 16 个字符)与提高变量为小数指数。所以在现实中,系数名称看起来像“groupTaxonname::I(log(var)^(1/2))”,它不是一个名字很长的变量。然而,这个问题意味着我不能简单地缩短系数名称以使表格更窄更容易拟合,没有可用于组名称的真正缩写,省略其余的系数名称意味着可能不准确地定义所使用的变量。
鉴于此,我想知道是否有某种方法可以调整 R Markdown 中 summary 函数的输出以产生类似以下内容:
【问题讨论】:
-
最简单的方法是使用一个为创建“漂亮”打印而设计的包(其中有很多)。这些可以处理各种选项。 Flextable 我认为可以做 lm 输出,所以可以迎合。仅举两个。您是否仅限于使用基础 R?
-
@Elin 不是。我正在使用很多软件包。这主要是为了补充信息,以便读者可以在需要时复制我的分析结果,所以我并不太关心让事情看起来不错。有什么建议吗?
-
看看 Flextable 和 Pander。我也认为可能是 kableExtra。
标签: r r-markdown knitr summary presentation