동일하게 정렬 된 데이터 프레임 목록을 가지고 있습니다. 더 구체적으로는 AmeliaII 패키지로 다중 대체를 한 후에 얻는 귀속 된 데이터 프레임입니다. 이제는 구조가 동일하지만 데이터 프레임 전체에서 계산 된 셀의 평균 값을 포함하는 새로운 데이터 프레임을 만들고 싶습니다.동일한 데이터 프레임의 셀에서 통계 (예 : 평균) 계산
나는 순간에 이것을 달성하는 방법은 다음
## do the Amelia run ------------------------------------------------------------
a.out <- amelia(merged, m=5, ts="Year", cs ="GEO",polytime=1)
## Calculate the output statistics ----------------------------------------------
left.side <- a.out$imputations[[1]][,1:2]
a.out.ncol <- ncol(a.out$imputations[[1]])
a <- a.out$imputations[[1]][,3:a.out.ncol]
b <- a.out$imputations[[2]][,3:a.out.ncol]
c <- a.out$imputations[[3]][,3:a.out.ncol]
d <- a.out$imputations[[4]][,3:a.out.ncol]
e <- a.out$imputations[[5]][,3:a.out.ncol]
# Calculate the Mean of the matrices
mean.right <- apply(abind(a,b,c,d,e,f,g,h,i,j,along=3),c(1,2),mean)
# recombine factors with values
mean <- cbind(left.side,mean.right)
제가 적용 plyr 등을 사용하여이 일을 더 나은 방법이 있다고 생각하지만, R 신참 I로 정말로 약간 여기에서 길을 잃는다. 이 문제를 해결하는 방법에 대한 제안이 있습니까?
감사합니다. 그러나 솔루션과 달리 데이터 프레임은 숫자가 아니라 배열을 사용하기 전에 "스트립"해야하는 두 개의 "요소"열이 있습니다. "혼합 된"데이터 프레임에서도 작동하는 솔루션을 알고 있다면 "모든 것을 얻을 수 있습니다". 하지만 전에 말했듯이, 당신의 솔루션은 이전에 사용했던 솔루션보다 훨씬 간결합니다. – Tungurahua
제가 올바르게 기억한다면, 제가 제공 한 unlist 솔루션은 여전히 대부분 작동 할 것입니다 : 요인들은 수치로 강요 될 것이고, 이것의 평균이 취해질 것입니다 (당신은 안전하게 무시할 수 있습니다). –