나는 다음과 같이 보입니다 dataframe 있습니다부분 집합 dataframe
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 %가 항상 할 사이트를 제거하려는합니다. 모든 사이트에서
최대 월 수는 있습니다
1의 카운트가 site5에 할당 된 경우library(plyr)
ddply(df, .(Month), summarise, Max.Count=max(Count))
, 다음의 수는 항상 모든 사이트에서 최대 월간 카운트 < 5 %이다. 따라서 사이트 5를 제거해야합니다. 다른 사람들이> 5 % 동안
df$Count[df$Site=='site5'] <- 1
그러나 사이트 2에 새로운 값을 할당 한 후, 그 계산의 일부, 최대 월간 카운트 < 5 %이다. 따라서 site2를 제거하지 않으려 고합니다.
df$Count[df$Site=='site2'] <- ceiling(seq(1, 1000, length.out=20))
어떻게 카운트 항상 최대 월간 카운트 < 5 %있는 모든 사이트를 제거 dataframe 서브 세트를 할 수 있습니까? 질문이 불분명 한 경우 알려 주시면 수정 해 드리겠습니다.
그래서 사이트에 대한 모든 행을 제거 할 경우 1 월 수를 <5 %의 최대 수, <2 월 5 %의 최대 수, 3 월에 5 % 이하의 최대 수가 계산됩니다. 예를 들어, 6 월을 제외하고 매월 최대 카운트가 5 % 미만인 사이트의 행을 제거하지 마십시오. – luciano
@RossAhmed,이 작업을 수행해야합니다. – Arun