首页 > 解决方案 > R中的聚合字符串

问题描述

我有一个数据框,其中一列是字符串名称(v1),第二列是字符串值(v2),我想汇总这些条目并将它们的字符串值相加。(V1 和 V2 是列表)

V1 和 V2 是列表

trp_str

    V1  V2

1 a,x,v 0.07128713

2  b,x,c  0.06336634

3  c,x,v  0.04752475

4 c,x,v  0.04752475

5 d,x,v  0.06336634

6 a,x,v 0.07128713

i want to get like this
  V1     V2
1 a,x,v 0.14257426

2  b,x,c  0.06336634

3  c,x,v  0.0950495

4  d,x,v  0.06336634

当我使用 aggregate(trp_str$V1, by=list(V2=trp_str$V2), FUN=sum) 时发生以下错误 Aggregate.data.frame(as.data.frame(x), ...) 中的错误:参数必须具有相同的长度

标签: r

解决方案


这是非常简单的操作。这个网站上已经回答了很多

这应该适合你

library(dplyr)

df <- data.frame(V1 = c('a,x,v','b,x,c', 'c,x,v', 'c,x,v', 'd,x,v', 'a,x,v'), 
                 V2 = c(0.07128713, 0.06336634, 0.04752475, 0.04752475, 0.06336634,0.07128713))

df %>% group_by(V1) %>% summarise(Total = sum(V2)) 

基本上,您按 V1 列分组,然后使用该summarise函数来sum增加 V2 列中的值。在这里,我命名了包含总和的列,Total但您可以随意命名。


推荐阅读