저는 27 * 27 크기의 공분산 행렬을 2000 개 가지고 있는데, 모든 2000 개 행렬에 대한 평균 공분산 행렬을 얻고 싶습니다. 내가 원하는 결과는 27x27 크기의 하나의 행렬입니다. 여기서 위치 [1,1]은 주어진 27 개 행렬의 위치 [1,1]의 평균입니다. 다른 게시물에서 배열을 만들고 적용 기능을 사용해야한다는 것을 알 수 있었지만 작동하지 않습니다!
내 코드 :
a<-array(ml.1[c(1:2000)])
apply(a,c(1,2),mean)
이 오류 메시지가 나타납니다 : Error in if (d2 == 0L) {: missing value where TRUE / FALSE needed
누구 든지이 문제를 해결하도록 도와 주시면 감사하겠습니다.
첫째, @ eipi10이 맞습니다. 귀하의 질문은 재현 할 수 없습니다. 그러나 여기서 핵심은 어레이를 설정하는 방법입니다.
#Make some fake data 10 matrices 10x10
m <- lapply(1:10, function(x) matrix(rnorm(100), nrow = 10))
#bind the matrices together
a <- do.call(cbind, m)
#recast the matrix into three dimensions
dim(a) <- c(10,10,10)
#now apply should work
apply(a, c(1,2), mean)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다