我有一个包含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
ORDER
和prov_code
的组合获得某组变量的最大值(即f_all是我的data.frame:{{ 1}})。目标是重复操作以获取包含每个f_all[(f_all$year==1975)&(f_all$ORDER==1)&(f_all$prov_code=="1"),]
,year
,ORDER
的所有最大值的新数据框。
有一种简单快捷的方法吗?
感谢您就此事提出任何建议,
答案 0 :(得分:1)
有几种方法可以做到这一点,例如@James提到的方法。我想建议使用plyr
:
library(ply)
ddply(f_all, .(year, ORDER, prov_code), summarise, mx_value = max(value))
或者,如果您有大量数据,data.table
提供了类似的功能,但在这种情况下速度要快得多。