我有一个数据框,例如:
VALUE Names
1 Sp1,Sp2
1 Sp2
2 Sp3,Sp4
4 Sp2,Sp1
我想以逗号分隔的方式计算每个 df$Names
的总和,并得到一个新的数据框,例如:
Name Sum
Sp1 5
Sp2 6
Sp3 2
Sp4 2
如果有帮助,这里是 dput 格式的数据框:
structure(list(VALUE = c(1L, 1L, 2L, 4L), Names = c("Sp1,Sp2",
"Sp2", "Sp3,Sp4", "Sp2,Sp1")), class = "data.frame", row.names = c(NA,
-4L))
最佳答案
我们可以使用 separate_rows
来拆分 'Names' 列,然后通过 sum
library(dplyr)
library(tidyr)
df1 %>%
separate_rows(Names) %>%
group_by(Names) %>%
summarise(Sum = sum(VALUE))
-输出
# A tibble: 4 × 2
Names Sum
<chr> <int>
1 Sp1 5
2 Sp2 6
3 Sp3 2
4 Sp4 2
关于r - 计算R中逗号分隔列中每个元素的值总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70352080/