如何解决kableExtra column_spec 错误 - 也许 dplyr 总结
我在使用 kableExtra column_widths 时遇到了奇怪的行为,我不确定是由于最新版本的 kableExtra 还是由于 dplyr 的汇总函数中新实现的“groups”参数。
如果我创建一个这样的数据框......
Summary <- mtcars %>%
group_by(cyl,gear,carb) %>%
summarise(count = n(),.groups = "keep") %>%
arrange(desc(cyl))
然后尝试像这样使用 kableExtra 将数据框制表...
kable((Summary),caption = "mtcars Data Summary\n",align = c('l','l','c','c')) %>%
kable_styling(bootstrap_options = c("striped","hover"),full_width = FALSE,position = "left") %>%
collapse_rows(columns = 1,valign = "top") %>%
column_spec(1,width = "3cm") %>% column_spec(2,width = "3cm") %>%
column_spec(3,width = "2cm") %>% column_spec(4,width = "2cm")
我收到此错误 -
xml_children(x)[[search]] 中的错误:下标越界
在尝试为不存在的列指定列宽的上下文中,我完全理解此错误,但由汇总函数创建的此数据框显然包含 4 列...
行数:12
列数:4
组:汽缸、齿轮、碳水化合物 [12]
$ 8,8,6,4,4
$ 齿轮 3,3,5,5
$ 碳水化合物 2,1,2,2
$ 数 4,2
所以我无法理解这个错误是如何发生的。另外,如果我删除列宽 列 #4 的设置然后表按预期输出(减去所需的宽度 第 4 列)
我想知道这是由于 kableExtra(现在在 1.3.1 上)的最近更新还是由于 dplyr 总结中的新“.groups”参数(现在在 1.0.2 上) - 但我已经尝试了所有.groups = "..." 的有效值没有成功。
解决方法
最后添加collapse_rows函数。
library(kableExtra)
Summary <- mtcars %>%
group_by(cyl,gear,carb) %>%
summarise(count = n(),.groups = "keep") %>%
arrange(desc(cyl))
Table <- kbl(Summary,caption = "mtcars Data Summary\n",align = c('l','l','c','c')) %>%
kable_styling(bootstrap_options = c("striped","hover"),full_width = FALSE,position = "left") %>%
column_spec(1,width = "3cm") %>% column_spec(2,width = "3cm") %>%
column_spec(3,width = "2cm") %>% column_spec(4,width = "2cm")
Table <- Table %>%
collapse_rows(columns = 1,valign = "top")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。