데이터가 4 개의 정적 변수와 열에 걸친 시계열 데이터로 구성된 새 시계열 변수를 만들려고합니다. 나는 매년 대하여마다 시리즈 열에서 값을 얻을 필요가 나는 최신 년 Del_0하는 각 그룹 내 등 Del_1의 전년에 대한 가치와 첫 번째 값을 얻을 필요가for 루프를 사용하여 기존 열의 새 변수에 값 할당
A B C year Del_0 Del_1 Del_2 Del_3 Del_4.....
1 abc qwe 2012 1 2 3 4 5
1 abc qwe 2013 3 5 3 6 8
1 def qwe 2014 2 3 6 2 1
1 def qwe 2013 12 23 21 45 43
내가 원래 데이터
로 다시 병합max_year<- aggregate(newdata$Year,by=list(newdata$A,newdata$B,newdata$C),max)
, B와 C
나는 각 클래스의 최대 해를 얻을 수 집계했다
각 그룹 내에서 가장 최근 연도의 차감 값 0을 사용하여 가장 최근 연도의 Del_0 값을 얻으려고합니다.
for 루프를 사용하려고합니다.
for(i in 0:4){
df[[paste(i, 'AVG', sep="_")]]<-newdata1$Del[i]
}
final data would be
A B C year Del_0 Del_1 Del_2 Del_3 Del_4.....Avg0 Avg1 Avg2 Avg3 Avg4
1 abc qwe 2012 1 2 3 4 5 2
1 abc qwe 2013 3 5 3 6 8 3
1 def qwe 2013 12 23 21 45 43 23
1 def qwe 2014 2 3 6 2 1 2
감사합니다. 그러나 평균값은 채워지지 않습니다. 그것들은 모두 NAs입니다. – bnair
@bnair 원래 데이터 세트에서 NA 값이있는 경우'na.rm = TRUE' (게시물을 업데이트)를 사용하십시오. 또한 'str (newdata)'를 검사하여'Del '열이'numeric '인지 아닌지 확인하십시오. – akrun