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

Summarize rows grouped by ID and preserve other, non-grouping variables

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

等条目
     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 或其他东西,但我不知道从哪里开始。

其次,假设数据框中有更多变量,我不想按它们分组或汇总它们,我只想取它们的值——假设它们在每组中都具有相同的值.我该如何保存它们?

使用 base 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的第一行。