如何根据不同的变量值分离数据

时间:2014-10-24 10:21:19

标签: r analytics

我有一个大约1.5 L观测值和2个变量的数据集:nameamountname可以反复使用相同的值,例如,名称ABC可以在数据集中出现50次。

我想要一个包含两个变量的新数据框:nametotal amount,其中每个name都有一个唯一值,total amount是之前所有金额的总和数据集。例如,如果ABC在前一个数据集中分别与amount == 123出现三次,则在新数据集中{{1只会出现一次总计ABC == amount

1 个答案:

答案 0 :(得分:1)

您可以将data.table用于大数据集:

library(data.table)
res<- setDT(df)[, list(Total_Amount=sum(amount)), by=name]

或使用dplyr

 library(dplyr)
 df %>% 
    group_by(name) %>% 
    summarise(Total_Amount=sum(amount))

或者@hrbrmstr建议,

 count(df, name, wt=amount)

数据

 set.seed(24)
 df <- data.frame(name=sample(LETTERS[1:5], 25, replace=TRUE),
                               amount=sample(150,25, replace=TRUE))