Pregunta

Estoy tratando de exportar algunos valores de salida muestreados de JAGS en formato .csv para realizar un análisis adicional en R, pero obtuve algunos problemas.

> 
> 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
¿Fue útil?

Solución

a mcmc.list Puede contener múltiples cadenas, desea seleccionar la cadena que desea al escribir en el archivo CSV:

write.csv(codaSamples[[1]], "CODASAMPLES.csv",row.names=FALSE)

Debería hacer lo "correcto", aunque no tengo una cadena para probar esto en este momento.

Otros consejos

write.table espera un marco de datos o una matriz (si no la pasa, intentará coaccionarlo). Si miras la estructura de codaSamples con EG str(codaSamples) Verá que es un objeto de lista con elementos que son listas o marcos o matrices de datos (no sé qué es realmente). Si se mezcla así, write.table No tiene idea de cómo convertirlo en un CSV.

Si desea seleccionar solo la matriz, puede encontrar el nombre del elemento con names(codaSamples) o de nuevo de str(codaSamples) Y luego haz algo como sample.mcmc <- codaSamples[['Matrix']] o cualquiera que sea el nombre, entonces debería poder guardar sample.mcmc a un archivo como lo ha hecho.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top