这是我拥有的数据框的一个小示例:
data <- data.frame(station=rep(c(1,1,2),each=4), month=rep(c(2,3,2),each=4), day=rep(c(26:29),3),times=rep(c(1:4),3),place=c(1:8,1:4),V1=rep(9:12,3),V2=rep(9:12,3))
这是我需要的数据框:
data1 <- data.frame(station=rep(c(1,1,2),each=4), month=rep(c(2,3,2),each=4), day=rep(c(26:29),3),times=rep(c(1:4),3),place=c(1:8,1:4),V1=c(9,10,10,10,9:12,9,10,10,10),V2=c(9,10,10,10,9:12,9,10,10,10))
我需要做的是重复2月28日和29日到2月27日的V1和V2列,因为原始数据有300个站点和60年,我尝试了以下但不起作用:
data1 <- ddply(data, .(station, month, times),function(x) x[x[3:4,2]==2,6:7] <- x[2,6:7])
任何建议将不胜感激,谢谢