4

jags.model最初の引数として BUGS モデルを含むファイル名が必要です。すべてを 1 つのスクリプトに含めるために、writeLinesコマンドを使用して BUGS モデルをファイルに書き込むことがあります。例えば、

library(rjags)
writeLines("
model {
    for (i in 1:length(Y1)) {
        Y1[i] ~ dnorm(Beta0, Beta1)
    }
    Beta0 ~ dunif(1, 5)
    Beta1 ~ dunif(0, 10000)
}
"
, "m1.jags")

mod1 <- jags.model("m1.jags", data=Data)

ただし、選択できる場合は、ファイルを作成したくありません。

テキストを含む R である種の仮想ファイルを作成する方法はありますか?

ファイルの機能を模倣するために、何らかの方法で R 接続を使用して変数に文字列を書き込む方法があるのではないかと考えていました。

私が考えていたものの大まかな擬似コード:

m1.jags <- "model {
        ...
    }
    "
jags.model(SomeRCommand(m1.jags), data=Data)
4

1 に答える 1

6

答えを教えてくれた@Andrieに感謝します。つまり、文字変数をtextConnection関数で囲むだけです。

完全を期すために、これが私の特定の問題にどのように適用されるかを次に示します。

m1.jags <- "
model {
    for (i in 1:length(Y1)) {
        Y1[i] ~ dnorm(Beta0, Beta1)
    }
    Beta0 ~ dunif(1, 5)
    Beta1 ~ dunif(0, 10000)
}
"
, "m1.jags")

mod1 <- jags.model(textConnection(m1.jags), data=Data)
于 2012-05-21T07:28:31.370 に答える