gpt4 book ai didi

r - 如何使用分组变量 : `pack_rows()` ? 对 kableExtra 中的行进行分组

转载 作者:行者123 更新时间:2023-12-04 11:49:22 25 4
gpt4 key购买 nike

library(kableExtra)
library(tibble)
MWE 数据集(组 = 分组变量)
tib <- tibble(group = c("a", "a", "b", "c", "c", "c"),
var = 1:6)
这就是我想要实现的目标:
kable(tib[, 2]) %>% 
pack_rows(index = c("a" = 2, "b" = 1, "c" = 3))
但是如果有 30 个或更多的唯一分组标识符,手动操作会很乏味。所以我一直在尝试一种程序化的方法
我尝试使用运行长度编码,但无法使其工作;例如,此代码失败:
kable(tib[, 2]) %>% 
pack_rows(rle(tib$group)[2], rle(tib$group)[1])
如果您有任何指示或建议来解决此问题,我将不胜感激。

最佳答案

您可以使用一个简单的 table :

kable(tib[, 2]) %>% 
pack_rows(index = table(tib$group))

enter image description here

如果您的索引行不是按字母顺序排列的,您可以使用 fct_inorder 执行以下操作来自 forcats (包含在 tidyverse 中)
tib2 <- tibble(group = c("b", "c", "c", "c", "a", "a"),
var = 1:6)

kable(tib2[, 2]) %>%
pack_rows(index = table(fct_inorder(tib2$group)))

enter image description here

关于r - 如何使用分组变量 : `pack_rows()` ? 对 kableExtra 中的行进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55353452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com