これが私が持っているデータフレームの小さな例です:
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))
元のデータには 300 ステーションと 60 年があるため、2 月 28 日と 29 日から 2 月 27 日までの列 V1 と V2 を繰り返す必要があります。
data1 <- ddply(data, .(station, month, times),function(x) x[x[3:4,2]==2,6:7] <- x[2,6:7])
アドバイスをいただければ幸いです、ありがとう