rjags
을 샘플러로 사용하고 있습니다. 모델에는 3 개의 행렬이 정의되어 있습니다. coda.samples
함수는 샘플 목록을 반환합니다. 내가 처음 샘플 목록을 경우 열 이름은 다음과 같이 보일 : mcmc 개체의 변수 재구성
> colnames(output[[1]])
"A[1,1]" "A[2,1]" "A[1,2]" "A[2,2]" ...
"B[1,1]" "B[2,1]" "B[3,1]" "B[4,1]" ...
"C[1,1]" "C[2,1]"
는 물론, A, B 및 C는 내 모델의 행렬이다. 나는이 표본들의 평균에 기초하여 그들을 재구성하고 싶다. 내가 쉽게
colMeans(output[[1]])
와 의미를 얻을 수 있지만이 벡터에서 매트릭스를 쉽게 재구성하는 방법을 모릅니다.
재구성을위한 좋은 방법은 relist()
기능입니다. 그래서 만약 내가 목록 L = list(A=A,B=B,C=C)
에있는 매트릭스 A, B와 C가 있다면이리스트를 unlist()
을 가진 벡터로 변환하고 relist()
으로 다시 변환 할 수 있습니다. 나는 mcmc 객체에 대해 유사한/readymade를 찾고 있지만 지금까지는 유용하지 않다. 나는 이것을 처음으로 필요로한다고 나는 믿을 수 없다. 분명히 relist(colMeans(output[[1]]))
이 작동하지 않습니다.
누구나 재구성에 도움이 될 수 있습니까?
편집 : relist()
함수는 스켈레톤 만 필요하므로, colnames(output[[1]])
에서 스켈레톤을 추출하는 것도 트릭을 수행합니다. 또는 나는 복잡하게하고 있는가?
relist()
이 트릭을 할 것입니다 생각하지 않습니다