汇总按 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的第一行。
我有一个数据框,其中包含
等条目 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的第一行。