• 締切済み

Rのjagsの使い方について

Rのjagsの使い方についてご教示願います。 http://cran.r-project.org/web/packages/R2jags/R2jags.pdf 上記のマニュアルに沿ってRのjagsを使ってみたのですが、うまくいきません。 P6から始まるExampleのコードをRで動かしてみたのですが、 『エラー: 関数 "jags" を見つけることができませんでした』と表示されます。 以下のサンプルコードの『## You can input data in 4 waysの(1)』をRに打ち込んで、実行するとエラーが表示されます。 モデルファイルは『「Macintosh HD」→「ライブラリ」→「Frameworks」→「R.frameworks」→「Resources」→「library」→「R2jags」→「model」』におき、作業ディレクトリもここに変更してあります。 # An example model file is given in: model.file <- system.file(package="R2jags", "model", "schools.txt") # Let's take a look: file.show(model.file) # you can also write BUGS model as a R function, see below: #=================# # initialization # #=================# # data J <- 8.0 y <- c(28.4,7.9,-2.8,6.8,-0.6,0.6,18.0,12.2) sd <- c(14.9,10.2,16.3,11.0,9.4,11.4,10.4,17.6) jags.data <- list("y","sd","J") jags.params <- c("mu","sigma","theta") jags.inits <- function(){ list("mu"=rnorm(1),"sigma"=runif(1),"theta"=rnorm(J)) } ## You can input data in 4 ways ## 1) data as list of character jagsfit <- jags(data=list("y","sd","J"), inits=jags.inits, jags.params, n.iter=10, model.file=model.file) ーーーーーーーーーーーーーー 以下ののページにあるjagsのコードについても、上記のエラーが表示されます。 http://web.sfc.keio.ac.jp/~maunz/wiki/index.php?%A5%D9%A5%A4%A5%BA%C5%FD%B7%D7%B1%E9%BD%AC2014_5

みんなの回答

noname#227064
noname#227064
回答No.1

良くはわかりませんが、Rは最新版を使われていますか? version 3.1.0で試しにしてみたら同じエラーメッセージが出ました。 version 3.2.1に変えたら、質問文にあるコードでエラーはでなくなりましたが、ベイズ統計演習2014_5の方で module glm loaded Compiling model graph jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, でエラー: Symbol table is empty Symbol table is empty Symbol table is empty Symbol table is empty とエラーになってしまいました。

hetaeigo1989
質問者

補足

Rのバージョンの問題かと思い、色々と古いものから新しいものまでインストールし直してみたのですが、 「関数jagsが見つからない」か、「Symbol table is empty」が表示されてしまいます。

関連するQ&A

  • Rのjagsの使い方についてご教示願います。

    Rのjagsの使い方についてご教示願います。 http://cran.r-project.org/web/packages/R2jags/R2jags.pdf 上記のマニュアルに沿ってRのjagsを使ってみたのですが、うまくいきません。 P6から始まるExampleのコードをRで動かしてみたのですが、 『エラー: 関数 "jags" を見つけることができませんでした』と表示されます。 以下のサンプルコードの『## You can input data in 4 waysの(1)』をRに打ち込んで、実行するとエラーが表示されます。 モデルファイルは『「Macintosh HD」→「ライブラリ」→「Frameworks」→「R.frameworks」→「Resources」→「library」→「R2jags」→「model」』におき、作業ディレクトリもここに変更してあります。 # An example model file is given in: model.file <- system.file(package="R2jags", "model", "schools.txt") # Let's take a look: file.show(model.file) # you can also write BUGS model as a R function, see below: #=================# # initialization # #=================# # data J <- 8.0 y <- c(28.4,7.9,-2.8,6.8,-0.6,0.6,18.0,12.2) sd <- c(14.9,10.2,16.3,11.0,9.4,11.4,10.4,17.6) jags.data <- list("y","sd","J") jags.params <- c("mu","sigma","theta") jags.inits <- function(){ list("mu"=rnorm(1),"sigma"=runif(1),"theta"=rnorm(J)) } ## You can input data in 4 ways ## 1) data as list of character jagsfit <- jags(data=list("y","sd","J"), inits=jags.inits, jags.params, n.iter=10, model.file=model.file) ーーーーーーーーーーーーーー 慶応の古谷先生のページにあるjagsのコードについても、名前は違いますが、 上記のエラーが表示されます。 http://web.sfc.keio.ac.jp/~maunz/wiki/index.php?%A5%D9%A5%A4%A5%BA%C5%FD%B7%D7%B1%E9%BD%AC2014_5

  • Rでデータファイルからヒストグラムを作成したい。

    以下の様なデータファイルをRで読み込んでヒストグラムを書きたいのですが、どのようにすれば良いのか、途中で詰まってしまいました。 hist() を使いたいのですが、なぜかうまくいきません。 まず、ファイル("/test.txt")があります。 a1|302.46|235.56|53.697|39.4994|821.3049 a2|85.866|2.6232|133.33|13.6709|51.0768 a3|217.666|23.4868|0.458|678.454|67.545 ・・・・ ・・・・ (一番右に行名、その右に5つ、'|'で区切られた数値が並ぶ。 これが1万行程度続くファイルです。) 1列目のデータをすべて集めてヒストグラムに。 次に2列目のデータを集めてヒストグラムに。次も、、、という段取りで x軸は値,y軸は列番号,z軸は頻度という多次元ヒストグラムを 書くのが最終目標ですが、とても到達できそうにありません。 どなたか、お助けいただけませんでしょうか。 以下が私が行った操作です。 ## ファイル内容をRにて読み込みます。 > dataset <- read.table("/test.txt", header=FALSE, sep="|") ## 次に2列目のみdata2に格納します。 > data2 <- dataset[c(2)] ## 最後にヒストグラムを書かせようとします。 すると、エラーを吐いてしまいます。 > hist(data2) 以下にエラー hist.default(data2) : 'x' は数値でなければなりません データの並び(?)が問題なのかと思って > array <- c(data2) > hist(array) としましたが、これも同じエラーを吐いてしまいました。 データの数値に問題があるのかと思い、以下のようにしてみたのですが これはエラーを吐かずにヒストグラムをつくってくれました。 > list <- c(5.43624 2.061215 1.0185 1.0622) > hist(list) どなたか、よろしくお願いいたします。

  • excel関数(検索)

    excel関数でA列に存在するデータがB列に存在するときは、C列に"1"に、存在しないときは"0"とする関数は何を使うべきですか?   A     B     C model-1  model-1  1 model-2  list-02  0 model-3  list-01  1 list-01  model-3  1 list-02  test-01  1

  • RのBRugsの使い方について

    RでMCMC法を実行したいのですが、以下のようになってしまいます。 > library(BRugs) 要求されたパッケージ coda をロード中です 要求されたパッケージ lattice をロード中です Welcome to BRugs running on OpenBUGS version 3.0.2 ここまでは正常だと思うのですが、次のモデルチェックで以下のようなエラーがでてしまいます;; > modelCheck("model.txt") 以下にエラー file(con, "r") : コネクションを開くことができません 追加情報: Warning message: In file(con, "r") : ファイル 'C:\DOCUME~1\ ~1\LOCALS~1\Temp\RtmpscEDb6/buffer.txt' を開くことができません, 理由は 'No such file or directory' です model.txtはC:\workというフォルダに保存してあります。 Rのファイルから作業ディレクトリの変更でC:\workに変更してあるのですが、上のようなエラーメッセージが出てしまいます。 何か間違っている点がありましたら教えていただけないでしょうか?

  • Windowsでは出るエラーでMacでは出ない

    現在、Visual C++ 2013 Expressを使っているのですが、そちらではエラーが出るのに、MacbookのXcodeで走らせたらエラーも出ずに正常に実行することができます。 いったい何が原因でエラーが起こっているのでしょうか? エラーメッセージは"XXXXX.exe has triggered a breakpoint."で"malloc.c"のタブがVC++上に開きます。以下がそのコードになるのですが、アドバイス宜しくお願い致します。 #define _USE_MATH_DEFINES #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <iostream> #include <complex> #include <stdlib.h> using namespace std; typedef complex<double> dcmplx; complex<double> M_i = dcmplx(0, 1); //--------------------------------------------------------------- // Characteristic Function dcmplx* CharFunc(double alpha, double* nu, double s0, double r, double q, double sigma, double t, int N) { dcmplx* out = (dcmplx*)malloc(sizeof(dcmplx) * N); dcmplx* u = (dcmplx*)malloc(sizeof(dcmplx) * N); for (int j = 0; j < N; ++j){ // j = 1,...,N u[j] = nu[j] - (alpha + 1) * M_i; out[j] = exp(M_i*(log(s0) + (r - q - sigma*sigma / 2.0)*t)*u[j] - sigma*sigma * u[j] * u[j] * t / 2.0); } return out; } // Characteristic Function for C dcmplx CharFuncC(double u, double s0, double K, double r, double q, double sigma, double t, int N) { return exp(M_i*((log(s0) - log(K)) + (r - q - sigma*sigma / 2.0)*t)*u - sigma*sigma * u*u * t / 2.0); } //--------------------------------------------------------------- // Main int main(int, char**) { double alpha[] = { -1.2, -1.5, -5.0, -10.0 }; double eta; double s0; double r; double q; double sigma; double t; double K; int pow2; int N; int m_atm = 0; FILE *fp; if (!(fp = fopen("inputa.txt", "r"))){ printf("File \'inputa\' could not be opened!"); exit(-1); } fscanf(fp, "%lg%lg%lg%lg%lg%lg%d", &eta, &s0, &r, &q, &sigma, &t, &pow2); double a; double b; double v; double abs_ab[] = { 2.0, 5.0, 10.0, 20.0 }; double sum =0; for (pow2 = 7; pow2 <= 10; ++pow2){ N = (int)pow(2.0, pow2); double *nu = (double*)malloc(sizeof(double)* N);// nu * (b - a) / M_PI; double *Vp = (double*)malloc(sizeof(double)* N); double *chi = (double*)malloc(sizeof(double)* N); double *phi = (double*)malloc(sizeof(double)* N); dcmplx *Phi = (dcmplx*)malloc(sizeof(double)* N); for (int i = 0; i < 4; ++i){ b = abs_ab[i]; a = -b; cout << "N:" << N << ", (a, b): (" << a << ", " << b << ")" << endl; for (K = 1600; K <= 1900; K += 100){ for (int k = 0; k < N; ++k){ nu[k] = k * M_PI / (b - a); // chi for Put with (c,d) = (a,0) chi[k] = 1.0 / (1.0 + nu[k] * nu[k]) * (cos(nu[k] * (-a)) - exp(a) + nu[k] * sin(nu[k] * (-a))); // phi for Put with (c,d) = (a,0) phi[k] = sin(nu[k] * (-a)) * (1.0 / nu[k]); phi[0] = -a; // COS expasion coeff V for Put Vp[k] = (2.0 / (b - a)) * K * (-chi[k] + phi[k]); // Characteristic Function for C, (just different argument inputs) nu[k] = k * M_PI / (b - a); Phi[k] = CharFuncC(nu[k], s0, K, r, q, sigma, t, N); sum += real(Phi[k] * exp(-M_i*(k*M_PI) * a / (b - a)))*Vp[k]; if (k == 0) sum /= 2.0; } v = exp(-r*t)*sum; cout << "strike=" << K << ", price=" << v << endl; sum = 0.0; } } } system("Pause"); return 0; }

  • CD-R,DVD-Rのデーターが消えるって??

    ・高速書き込みするとデーターが消えやすい ・安価なメディアだと消えやすい ということをよく耳にするのですが本当なのでしょうか?高速書き込みというのは何倍速以上で書き込みをすることなのでしょうか? ボクはToshiba SD-R5002 (http://www3.toshiba.co.jp/storage/japanese/spec/dvd_r_rw/sdr5002j.htm) で最高速度で書き込んでいて メディアは DVD-Rは (http://shop.tsukumo.co.jp/goods.php?category_code=300520000000000&jan_code=4518510120478)を使っていて CD-Rは (http://shop.tsukumo.co.jp/goods.php?category_code=300510000000000&jan_code=4518510121512) を使っています。消えたらかなり困るデータなども保存しているので心配です。 よろしくお願いします。

  • R1C1参照形式から抜け出したい

    会社で転勤になり、新職場のExcel2000を操作したところ、R1C1参照形式になっており、自分としては使いづらいので、A1形式をずっと表示させておきたいと思っています。R1C1参照形式は全く使う気がありません。 しかし、ツール-オプション-全般タブで R1C1 参照形式を使用するのチェックをはずしてOK して再起動しても、エクセルを開くとまた R1C1参照形式に戻っています。 新規のファイルをつくっても、R1C1形式になっています。A1形式にして保存し、ファイルをもう一度開くとR1C1形式に戻ってしまいます。 永久にA1形式で表示する方法を知っている方が いらっしゃれば教えてください。

  • BD-R 上の消失データ復元について

    BD-R上のデータが見た目上、消えてしまいました。 復元する方法がありましたら、教えて下さい。 行った手順は下記の通りです。 OSはWindows7 32bit版です。 BD-Rは、25GB、6倍速のものに書き込もうとしています。 Cドライブ上のAと言うフォルダに、100個のファイルがあったとします。 100個のファイルは全てJPEGで、合計容量は20GBとします。 エクスプローラ上でドラッグ&ドロップし、BD-R にコピーしました。 BD-RにAというフォルダができ、中身を確認したところファイルは100個あり 問題なく閲覧できました。 CドライブのAフォルダに更に20個のJPEGファイルを作成しました。 この20個の合計容量は、1GBです。 この20個のJPEGファイルもBD-Rにコピーしたいため、Aフォルダをドラッグ& ドロップしました。 すると『容量オーバーのためコピーできません』旨、メッセージが表示されました。 多分、21GBをコピーしたいと認識したのであろうと考え、CドライブにBという フォルダを作成し、後から作成した20個のJPEGファイル1GBをコピーしました。 このBフォルダをドラッグ&ドロップし、BD-R にコピーしようとしたところ 問題なくコピーできました。 念のため、BD-Rの中身を確認したところ、Aフォルダが空になっていました。 Bフォルダには20ファイルあります。 BD-R全体の容量は約21GBありました。 以上のような状態で、Aフォルダの中身を見えるようにするには、どうしたら いいのでしょうか。 また、データを追加する場合、上記の手順は間違いなのでしょうか。

  • HTML_Template_Sigma

    HTML_Template_Sigma を使って、テンプレートを作っています。 下記に、使用中のソースとテンプレートを示します。 data_list ブロック内で表示する {title} {date} をそのまま表示したいのですが、それぞれ、タイトル、日付、に置換されてしまいます。何か解決策はないでしょうか? ==== sigma_test.php ==== <?php require_once "HTML/Template/Sigma.php"; $tpl =& new HTML_Template_Sigma(dirname(__FILE__)); $tpl->loadTemplateFile("sigma_test.html", false, true); $hoge = array('{title}','ほげ','{date}',); foreach ($hoge as $data){ $tpl->setVariable('data_list',$data); $tpl->parse('data_list'); } $tpl->setVariable('title',"タイトル"); $tpl->setVariable('date',"日付"); $tpl->setVariable('body',"本文"); $tpl->show(); ?> ==== sigma_test.html ==== <?xml version="1.0" encoding="EUC-JP"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"> <head> <title>メモ</title> </head> <body> <div id="content"> <div id="head"></div> <div id="menu"> <ul> <!-- BEGIN data_list --> <li><a href="">{data_list}</a></li> <!-- END data_list --> </ul> </div> <div id="main"> <dl> <dt>タイトル</dt> <dd>{title}</dd> <dt>日付</dt> <dd>{date}</dd> <dt>本体</dt> <dd>{body}</dd> </dl> </div> </div> </body> </html>

    • 締切済み
    • PHP
  • 音楽をCD-Rに書き込むと・・・。

     音楽CDをいろいろ編集して(いろいろな曲を集めてオリジナルアルバムに)CD-Rに書き込みたいんですけど、二・三質問させてください。 1. WindowsMediaPlayer(以下、WMPと記載。)で、CDをWMA形式で保存して、それから、書き込みたい音楽を再生リストに登録して、「ファイル」→「CDにコピー」で、CD-Rに書き込んだんですけど、その出来上がったCDを聞いてみると、とても雑音があるんです。  ちょうど、感度の悪いFMラジオを聞いているような感じです。 これの原因と対処法を教えてください。 書き込み速度の影響でしょうか?でも、たしかWMPだと設定できなかったような気がしたんですけど・・・。 WMAに圧縮した影響でしょうか。 ちゃんと書き込み時は、常駐ソフトやスクリーンセーバー、省電力機能などもOFFにしました。 CD-Rメディアは富士フィルム製のCD-R(650MB)です。 2.ライティングソフトは「イージCDクリエイター 4」(以下、クリエイターと記載。)を使っています。 クリエイターで音楽CDを取りこむと、おそらく、WAVE形式で取り込まれると思うのですが、WAVE形式とは、完全に未圧縮の形式なのですか?違うのなら、完全に実圧縮の状態で、パソコンに取りこむ方法はあるのですか? こちらも、使用メディアは富士フィルム社製です。 最後になりましたが、私のパソコンのスペック(モデル)をご説明させていただきます。 モデル:NECバリュースターNX Cモデル(PC-VC800J/5FD) メモリ:windowsからは191MBと認識。(128MB、増設いたしました。) ハードディスク空き容量:Cドライブ30.9GB CD-R/RWドライブ:バッファーアンダーライン対策なし(バーンプルーフ・ジャストリンクなど) 以上です。教えてください!