년 및 월별 사례가 포함 된 데이터 세트가 있습니다. 몇 개월이 누락되었습니다. 해당 달의 사례 수가 0 인 행을 만들고 싶습니다.R을 사용하여 요약 행을 0 개로 효율적으로 추가하려면 어떻게해야합니까?
다음은 예제이며, 현재의 무차별 대입 방식입니다. 어떤 포인터 주셔서 감사합니다. 분명히, 나는 이것에 관해 새로운 사람이다.
# fake data
library(plyr)
rm(FakeData)
FakeData <- data.frame(DischargeYear=c(rep(2010, 7), rep(2011,7)),
DischargeMonth=c(1:7, 3:9),
Cases=trunc(rnorm(14, mean=100, sd=20)))
# FakeData is missing data for some year/months
FakeData
# Brute force attempt to add rows with 0 and then total
for(i in 1:12){
for(j in 1:length(unique(FakeData$DischargeYear))){
FakeData <- rbind(FakeData, data.frame(
DischargeYear=unique(FakeData$DischargeYear)[j],
DischargeMonth=i,
Cases=0))
}
}
FakeData <- ddply(FakeData, c("DischargeYear","DischargeMonth"), summarise, Cases=sum(Cases))
# FakeData now has every year/month represented
FakeData
감사합니다. 나는 방법이 있어야한다는 것을 알고있었습니다. 완전성을 위해 NAs를 0으로 대체해야하므로 대답은 다음과 같을 것입니다 : FakeData <- merge (allMonths, FakeData, all.x = TRUE) FakeData $ Cases [FakeData $ Cases)] <- 0 – JIm
실제로 조금 단순화 할 수 있습니다. 나는 나의 대답을 업데이트했다. – Charlie