1

Rでさらに分析を実行するために、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
4

2 に答える 2

3

複数のmcmc.listチェーンを含めることができます。CSV ファイルに書き込むときに、必要なチェーンを選択する必要があります。

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

現時点ではこれをテストするためのチェーンはありませんが、「正しいこと」を行う必要があります。

于 2013-11-07T17:50:13.510 に答える
2

write.tableデータフレームまたはマトリックスが必要です(渡さない場合は、強制しようとします)。codaSamplesたとえば withの構造を見るとstr(codaSamples)、リスト、データ フレーム、またはマトリックスである要素を含むリスト オブジェクトであることがわかります (実際の内容はわかりません)。そのように混在している場合、write.tableそれをcsvに変換する方法がわかりません。

要素の名前を見つけることができるマトリックスのみを選択したい場合は、names(codaSamples)そのstr(codaSamples)名前と同じようにファイルsample.mcmc <- codaSamples[['Matrix']]に保存できます。sample.mcmc

于 2013-11-07T17:51:37.283 に答える