Pet*_*ter 4 grouping r kableextra
library(kableExtra)
library(tibble)
Run Code Online (Sandbox Code Playgroud)
MWE 数据集(组 = 分组变量)
tib <- tibble(group = c("a", "a", "b", "c", "c", "c"),
var = 1:6)
Run Code Online (Sandbox Code Playgroud)
这就是我想要实现的目标:
kable(tib[, 2]) %>%
pack_rows(index = c("a" = 2, "b" = 1, "c" = 3))
Run Code Online (Sandbox Code Playgroud)
但是如果有 30 个或更多的唯一分组标识符,手动操作会很乏味。所以我一直在尝试一种程序化的方法
我尝试使用运行长度编码,但无法使其工作;例如,此代码失败:
kable(tib[, 2]) %>%
pack_rows(rle(tib$group)[2], rle(tib$group)[1])
Run Code Online (Sandbox Code Playgroud)
如果您有任何指示或建议来解决此问题,我将不胜感激。
kat*_*ath 20
您可以使用一个简单的table:
kable(tib[, 2]) %>%
pack_rows(index = table(tib$group))
Run Code Online (Sandbox Code Playgroud)
如果您的索引行不是按字母顺序排列的,您可以使用fct_inorderfrom 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)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5078 次 |
| 最近记录: |