我有一个数据帧,看起来像以下:子集数据帧
df <- data.frame(Site=rep(paste0('site', 1:5), 50),
Month=sample(1:12, 50, replace=T),
Count=(sample(1:1000, 50, replace=T)))
我想删除任何网站,伯爵总是在所有站点每月最大计数< 5%。
在所有站点中的最大月度计数:
library(plyr)
ddply(df, .(Month), summarise, Max.Count=max(Count))
如果计数1被分配到site5,则其数总是在所有站点每月最大计数的< 5%。所以我想要site5删除。
df$Count[df$Site=='site5'] <- 1
然而,SITE2分配新值后,它的一些罪名是最大月度计数< 5%,而另一些则> 5%。所以我不想要site2删除。
df$Count[df$Site=='site2'] <- ceiling(seq(1, 1000, length.out=20))
我怎么能子集数据框中删除其中数总是最大月度计数< 5%的任何网站?如果问题不清楚,我会修改。
于是删除所有行的网站,计数<5%最大计数一月,<2月份5%的最大计数, 3月的最大月数<5%....每年的每个月。不要删除任何行,例如,除6月以外每月最多计数<5%。 – luciano 2013-03-14 11:35:15
@RossAhmed,这应该做到这一点。 – Arun 2013-03-14 12:02:41