汇总按ID分组的行并保留其他非分组变量

时间:2015-01-12 14:09:44

标签: r plyr

我有一个数据框,其中包含

等条目
     GN      Datum     Land Wert
1 11747 2012-01-04 Thailand 7616
2 11747 2012-01-04 Thailand 6241
3 11747 2012-01-04 Thailand 1174
4 11747 2012-01-04 Thailand 2156

GN是ID。但在这种情况下,所有四个条目都具有相同的ID。我想要的是总结" Wert",以便我最终得到:

     GN      Datum     Land Wert
1 11747 2012-01-04 Thailand 17187

我该怎么做?我知道我应该使用plyr包或apply或其他东西,但我很无知从哪里开始。

其次,让我们说数据框中有更多变量,我不想通过它们进行分组或总结它们,我只想取其价值 - 假设它们都具有相同的价值每组的价值。我该如何保存?

1 个答案:

答案 0 :(得分:1)

使用基数R,您可以:

aggregate(Wert ~ ., df, sum)
#     GN      Datum     Land  Wert
#1 11747 2012-01-04 Thailand 17187

如果要保留数据中的其他列,可以执行(使用dplyr):

df %>% group_by(GN, Datum, Land) %>% mutate(Wert = sum(Wert)) %>% slice(1)
#     GN      Datum     Land  Wert
#1 11747 2012-01-04 Thailand 17187

这将保留其他列,并且只留下每组GN,Datum,Land的第一行。