0

我有一个相当大的数据框,有 13 个变量。这是第一行,只是为了给出一个想法:

prov_code nuts1 nuts1name nuts2 nuts2name prov_geoorder  prov_name NUTS_ID EDAD year ORDER graphs value          prov_geo
1. 15      1        NW       11  Galicia     1          La Corunna   ES111  11   1975   1    1      0.000000000   La Corunna

我想根据变量的组合year ORDERprov_code(即 f_all 是我的 data.frame: f_all[(f_all$year==1975)&(f_all$ORDER==1)&(f_all$prov_code=="1"),])获得一组变量的最大值。目标是重复该操作以获得包含每个year, ORDER,的所有最大值的新数据帧prov_code。有没有一种简单快捷的方法来做到这一点?

感谢您对此事的任何建议,

4

1 回答 1

1

有几种方法可以做到这一点,例如@James 提到的那个。我想建议使用plyr

library(ply)
ddply(f_all, .(year, ORDER, prov_code), summarise, mx_value = max(value))

或者,如果您有大量数据,data.table则提供类似的功能,但在这种情况下要快得多。

于 2013-05-01T09:38:26.303 回答