ㅏ mcmc.list
여러 체인을 포함 할 수 있으므로 CSV 파일에 쓸 때 원하는 체인을 선택하려고합니다.
write.csv(codaSamples[[1]], "CODASAMPLES.csv",row.names=FALSE)
지금은 "올바른 일"을해야하지만, 지금은 이것을 테스트 할 체인이 없지만.
문제
r에서 추가 분석을 수행하기 위해 JAGS에서 jags의 일부 샘플링 된 출력 값을 .CSV 형식으로 내보내려고하지만 문제가 발생했습니다.
>
> codaSamples
[[1]]
Markov Chain Monte Carlo (MCMC) output:
Start = 4001
End = 14000
Thinning interval = 1
pai theta[1] theta[2] theta[3] theta[4]
[1,] 0.9774972 0.0081192689 0.0101738296 0.06981109 0.10674466
[2,] 0.9527935 0.0076402088 0.0099482287 0.07593964 0.11060883
[3,] 0.9467507 0.0076402088 0.0099482287 0.07593964 0.11060883
[4,] 0.9514251 0.0076402088 0.0099482287 0.07593964 0.11060883
[5,] 0.9419245 0.0076402088 0.0099482287 0.07593964 0.11060883
[6,] 0.9914296 0.0076402088 0.0099482287 0.07593964 0.11060883
[7,] 0.9903451 0.0076402088 0.0099482287 0.07593964 0.11060883
[8,] 0.9917113 0.0064704730 0.0095551321 0.06748512 0.11033123
...
...
[10000,] 0.9917113 0.0064704730 0.0095551321 0.06748512 0.11033123
> write.csv(codaSamples,"CODASAMPLES.csv",row.names=FALSE)
Error in as.data.frame.default(x[[i]], optional = TRUE, stringsAsFactors = stringsAsFactors) :
cannot coerce class '"mcmc.list"' into a data.frame
해결책
ㅏ mcmc.list
여러 체인을 포함 할 수 있으므로 CSV 파일에 쓸 때 원하는 체인을 선택하려고합니다.
write.csv(codaSamples[[1]], "CODASAMPLES.csv",row.names=FALSE)
지금은 "올바른 일"을해야하지만, 지금은 이것을 테스트 할 체인이 없지만.
다른 팁
write.table
데이터 프레임 또는 매트릭스를 기대합니다 (전달하지 않으면 시도하고 강요합니다). 당신이 구조를 보면 codaSamples
예를 들어 str(codaSamples)
목록 또는 데이터 프레임 또는 행렬 인 요소가있는 목록 개체임을 알 수 있습니다 (실제로 무엇인지 모르겠습니다). 그렇게 혼합되면 write.table
CSV로 바꾸는 방법을 모른다.
행렬 만 선택하려면 요소 이름을 다음과 같이 찾을 수 있습니다. names(codaSamples)
또는 다시 str(codaSamples)
그런 다음 같은 일을하십시오 sample.mcmc <- codaSamples[['Matrix']]
또는 이름이 무엇이든, 당신은 저장할 수 있어야합니다 sample.mcmc
당신처럼 파일에.