问题描述
说有数据框A:
build:my-toolchain --crosstool_top=//my-toolchain:toolchain
build --config=my-toolchain
是否可以汇总B列中每个逗号分隔字母的数据? 例如,像这样获取它们的平均值:
A B
1 1 gr1,gr2
2 3 class1,gr1
3 4 gr2
解决方法
使用tidyr的函数separate_rows()
可以轻松完成此操作:
library(tidyverse)
dat <-
tibble(A = c(1,3,4),B = c("gr1,gr2","class1,gr1","gr2"))
dat %>%
separate_rows(B,sep = ",") %>%
group_by(B) %>%
summarize(mean = mean(A))
# A tibble: 3 x 2
B mean
<chr> <dbl>
1 class1 3
2 gr1 2
3 gr2 2.5
,
base R
中的一个选项,在列'B'上带有strsplit
,以创建一个list
,然后使用tapply
,获得{ {1}}将“ A”值分组,其中该组是mean
个拆分值
rep