約 3,245,709 件
https://w.atwiki.jp/kzwapipe/pages/21.html
↑トップページ ↑入門編その1? ↑Eclipse にプラグインを追加しよう? ■■■ FindBugsプラグインをインストールします ■■■ ソフトウエア開発を行う際、プログラムにバグが混入することは避けられません。Eclipse にはプログラムの簡単なチェック機能が備わっており、単純なケアレスミスなどを見つけてくれます。FindBugs では更に強力なチェックが可能です。あまり出来の良くないコードを指摘してくれるのでとても役立ちます。 FindBugs の詳細についてはこちらのページを参照してください。 http //www.simeji.com/findbugs/doc/manual_ja/index.html ■ インストールするのは以下のものです。 FindBugs plugin ■ FindBugs plugin をダウンロードします。 FindBugs のページにアクセスします 画面左側の“Downloads”を選択します 画面の“available on the sourceforge download page”のリックを選択します “Latest File Releases”の“findbugs eclipse plugin 0.9.5”の“Download”を選択します “findbugs eclipse plugin ”の“de.tobject.findbugs_0.0.xx.zip ”を選択します ダウンロードするサーバー選択画面が表示されるので適当なサーバーを選択します。 ダウンロードが開始されるので適当なフォルダに保存します ■ FindBugs plugin をインストールします。 ダウンロードした“de.tobject.findbugs_0・・・.zip”ファイルをダブルクリックして解凍します デスクトップに“de.tobject.findbugs_xxxx”フォルダができます そのフォルダを Eclipse の plugins フォルダの中に入れます “C ¥usr¥eclipse¥plugins”フォルダの中です 以上で FindBugs plugin プラグインのインストール完了です。 うまくいかない!などのクレームがあればコメントにどうぞ
https://w.atwiki.jp/dotcom/pages/128.html
FireBugじゃなくてよ。FindBugs。 Eclipseのプラグイン。 なんだか勝手に入ってたような気が。。。 AllInOneだったからかしら? FindBugsについての最初の記事 FindBugsはじめました? 「FindBugs」を含む記事 FindBugsタグ FindBugsを含む記事一覧 Eclipse/FindBugs記事 虫の一覧はどこよ?
https://w.atwiki.jp/dotcom/pages/129.html
Eclipseでお世話になっておりますFindBug。 あの虫。かわいいねあれかわいい。 でもどこに現れてるのかって一覧はどこにでるんだろう。。。 ありました。 「問題」ビューでした。 http //www.atmarkit.co.jp/fjava/rensai3/eclipseplgn02/eclipseplgn02_1.html 「問題」ビューに表示されていなかったら表示するように追加しないといけないようです。んるほど。 フィルターボタンは右上端辺りにいるですよ。 アルファベットから始まるのがだいたいそう。 「記述」タブ?をクリックして並び替えるとわかりやすいかも。 CD DLS Dm DMI IP Nm NP OS どういう意味なのかはおいおい。
https://w.atwiki.jp/xbox360score/pages/598.html
Band of Bugs 項目数 15(12+3) 総ポイント 250(200+50) 難易度 ★★☆☆☆ (200) + ★☆☆☆☆ (50) 配信日 2007年6月20日 DL費用 800MSP ジャンル 戦略&シミュレーション リクルート チュートリアルを完了する 10 上達している 25 のスキルまたは呪文を使う 20 Bugs of War を自由にする 単一プレーヤによる作戦活動を完了 40 戦術的大演習 チュートリアル外のボーナスタイプは各ヒットごとに 5 獲得 20 濡れたバグの匂い 敵を水の中に蹴落として敗北させる 15 ビッグゲームハンター 野蛮人を上に示す 10 三度目のチャーム 複数プレーやゲームを3つ勝ち取る 5 黄金掘りの蟻 金メダルを 20 獲得 20 蜘蛛ならし 単一の Spider Hunter ゲームで30点獲得 10 アイスメーカー 50 の睡蓮を凍らせる 15 よいホスト 10 の複数プレーヤをホスト 15 はねかえり屋 プレー範囲の外にすべての敵を徹底的に打ち負かし、シナリオを勝ち取る 20 追加実績 「Band of Bugs - 赤い王国」 250MSP 赤い王国のチャンピオンン 赤い王国のダウンロード可能キャンペーンを完了しなさい 15 「Band of Bugs - 怒りのニンジャ スティック」 250MSP 忍者スティック先生 猛々しい忍者スティックのダウンロード可能キャンペーンを完了しなさい 15 DLC2個必要 ゴールドスター ダウンロード可能キャンペーンから少なくとも10の金メダルを勝ち取りなさい 20 ●ビッグゲームハンター 意味不明。恐らく「ハンターゲームで野蛮人を1位にさせる」の異訳。NPCの野蛮人3体と蜘蛛狩りの勝負をする中盤ステージで、プレイヤー側の野蛮人に、一番多くスパイダーを倒させると解除。 ●アイスメーカー 誤訳。正確には「水のマスを氷の呪文で累計50マス凍らせる」。 ●はねかえり屋 マップの端は崖のようになっているので、すべての敵をノックバック効果のある技で突き落とせば解除。
https://w.atwiki.jp/aspirin-marcov/pages/109.html
WinBUGSのマニュアルを駆け足で(?)読む
https://w.atwiki.jp/gtavi_gta6/pages/808.html
Bugstars Pest Control 概要 解説 倉庫 従業員 所有車両 概要 和名:バグスターズ 業種:害虫駆除会社 所在地:Elysian Island, Port of South Los Santos 解説 ロスサントス港に本拠地を構える害虫駆除業者。後述するミッションで従業員の会話を盗み聞くことができるが、その内容からかなりの悪徳業者である事が分かる。まず、「害虫がいないか無料で検査する」と言って家に上がりこみ、害虫の卵をばら撒く。客(被害者)はしばらくすると泣きついて来るので、通常よりも遥かに高い価格を吹っかける。駆除の際は害虫が全滅しない程度に適当に殺虫剤を撒き、常連客を増やしている。 従業員は殺虫剤や許可証に加えて、駆除の証拠品に使う虫の死骸や、ゴム(従業員曰く「念のため」)を持ち歩いており、どこから突っ込んでいいのか分からない。良くも悪くもGTAらしい、トンデモ企業の1つである。 キャッチコピーは「Putting the FU(Fuck You) in fumigate.」と「Bug "R" Us」。 Bug "R" UsはToys "R" Us をもじったもの。 ストーリーミッション「バグスターズ装備」で関わることになる。 倉庫 Elysian Island, Port of South Los Santos ・モデルはこちら 。 従業員 所有車両 Burrito2
https://w.atwiki.jp/gtav/pages/808.html
Bugstars Pest Control 概要 解説 倉庫 従業員 所有車両 概要 和名:バグスターズ 業種:害虫駆除会社 所在地:Elysian Island, Port of South Los Santos 解説 ロスサントス港に本拠地を構える害虫駆除業者。後述するミッションで従業員の会話を盗み聞くことができるが、その内容からかなりの悪徳業者である事が分かる。まず、「害虫がいないか無料で検査する」と言って家に上がりこみ、害虫の卵をばら撒く。客(被害者)はしばらくすると泣きついて来るので、通常よりも遥かに高い価格を吹っかける。駆除の際は害虫が全滅しない程度に適当に殺虫剤を撒き、常連客を増やしている。 従業員は殺虫剤や許可証に加えて、駆除の証拠品に使う虫の死骸や、ゴム(従業員曰く「念のため」)を持ち歩いており、どこから突っ込んでいいのか分からない。良くも悪くもGTAらしい、トンデモ企業の1つである。 キャッチコピーは「Putting the FU(Fuck You) in fumigate.」と「Bug "R" Us」。 Bug "R" UsはToys "R" Us をもじったもの。 ストーリーミッション「バグスターズ装備」で関わることになる。 倉庫 Elysian Island, Port of South Los Santos ・モデルはこちら 。 従業員 所有車両 Burrito2
https://w.atwiki.jp/kojiro/pages/31.html
最初に表れる位置(FIND) 最初に表れるバイト数(FINDB) FIND(検索文字列,対象,開始位置) FINDB(検索文字列,対象,開始位置) 検索文字列 検索したい文字列。大文字と小文字は区別されます。 空文字列("")を指定すると必ず1 が返ります。 対象 検索文字列を含む文字列。 開始位置 検索を開始する位置。 省略すると1 とみなされます。 例 =find("o","Microsoft Word")=5 =find("う","とうきょうと")=2 =findb("う","とうきょうと",5)=5 3番目の例では、5 バイト目から探しているので「とうきょうと」の後ろの「う」の位置が戻り値として返されます。 FIND 関数とFINDB 関数のように+B がつくと1バイトと2バイトを区別する関数は他にも存在する。 他の検索系の関数もそうだが、基本的に最初に見つけた文字列しか返さないので、上の例のように同じ文字がいくつか出てくる時には一工夫必要になる。 SEARCH 関数とSEARCHB 関数との違いはワイルドカードが使えるか、大文字と小文字を区別するか。FIND 関数とFINDB 関数はワイルドカードは使えないが、大文字と小文字を区別する。
https://w.atwiki.jp/vstplugins/pages/121.html
Plugsound Vol.1~6 High Resolution (日本輸入元) UltimateSoundBank (開発元) 主な特長 サンプルライブラリーとプラグインインストゥルメントが一体となったわかりやすい設計、操作 収録サンプルはすべてプレミアムクォリティ オリジナルサウンドを作成するエディットパラメータ搭載 PlugSound vol.1には様々なアコースティック、エレクトリック鍵盤楽器が収録 PlugSound vol.2にはギターやベースなどの“フレット”がついている楽器が多数収録 PlugSound vol.3には6000にもおよぶドラム パーカッションサウンドが多数収録 PlugSound vol.4にはループからワンショットまで、様々なヒップポップフレーバーが満載 PlugSound vol.5にはUltraFocusとはまた違ったこだわりのシンセサウンドを多数収録 PlugSound vol.6はソフト/ハードの枠を超えた最高のGMサウンドモジュール 各方面から高い評価を得ているUVIエンジンを搭載したマルチフォーマットプラグイン 32bit処理による高品位サウンド 低CPU負荷 Windows/Mac OSに対応したハイブリッドパッケージ VST、AU、RTAS、MAS、DXi形式のプラグインとして動作 MOTU Mach Fiveのライブラリーとしても使用可能 製品概要 Plugsound シリーズは様々な楽器を、じっくり時間をかけて丁寧にサンプリングしたサンプルのライブラリーと、マルチフォーマットに対応したプラグインエンジンが一体となった、プラグインインストゥルメントです。この事により、細かな設定を必要とせずに、必要な楽器をいつでも、最高の状態で貴方の作品に加える事ができます。 高品位の状態で収録されたサンプルは専用のデータファイルとして、プラグインエンジンを通じて再生されます。PlugSoundシリーズでは、その登場以来、各方面で高い評価を受けている“UVI”エンジンをプラグインエンジンとして使用します。UVIエンジンは32bitフローティング処理により、サンプルを最高の状態で再生をします。また、UVIエンジンはCPU負荷が低く、様々なプラグインフォーマントに対応する現在もっとも進化したプラグインエンジンです。 PlugSoundは単に高品位のサンプルを再生するだけではなく、シンプルな操作でダイナミックな音作りを可能にするパラメータも搭載します。この事により、これらのサンプルから更にオリジナルのサウンドを作り出す事も可能です。 PlugSoundはシンプルかつ高いクォリティを兼ね備え、さらにお求めやすい価格を実現したプラグインインストゥルメントです。 名前 コメント
https://w.atwiki.jp/hayatoiijima/pages/40.html
R2WinBUGSの使い方 このページは、R上からWinBUGSを操作することを可能にするパッケージ、R2WinBUGSの使い方を解説するページです。 モデル式の部分を加筆中 累積訪問者数(from 2008/12/17): - 今日来てくれた人: - R2WinBUGSの使い方 はじめに 作業手順 モデル式を書き下ろす 今回のデータ構造とその解析目的 モデル式の書き方 BUGSコードの基本的なルール 決定論的指定 確率論的指定 実装例 Rにデータを読ませる 初期値・パラメータの設定 bugs()の仕様 結果の確認 要約値の出力 収束診断図 簡単な事後分布図 chainごとの事後分布図 はじめに 計算機の進歩により、Bayes統計(というかMCMC計算)が可能になり、その利用に関する関心が急速に高まっています。しかし、実行方法の難しさが多くのユーザーへの拡大を妨げているといえるでしょう。そこでMCMC(Gibbsサンプリングのみですが.......)計算を行うためのWinBUGSが開発されました。WinBUGSは単体で結果の表示、作図などを行ってくれます。しかし、それら以外の結果が取り出したいケースもありますし、何よりRで使えたら論文などへの二次利用も容易となるでしょう。 そこで開発されたのがR2WinBUGSです。名前は本当にそのまんまと言う感じです(2はtoをもじったものでしょう)。R2WinBUGSを使うと、データはRで準備すればよく、WinBUGSでのMCMC計算の過程などをRに格納することが可能となり、利便性が格段に向上します。 といっても、R2WinBUGSはR2WinBUGSでいろいろお作法というか指定しなければならないことがあります。ここでは初心者が陥りがちな点を記述するつもりです。 作業手順 モデル式を書き下ろし、.bugという拡張子をつけて保存する。できた.bugファイルはRのワーキングディレクトリに保存する Rを立ち上げ、必要なデータをリスト形式で用意する 初期値の設定(指定しないこともできますが、複雑なモデルでは指定しないとまず収束しません)、結果として見たいパラメータを指定する library(R2WinBUGS)またはlibrary(arm)でパッケージを読み込む bugs()関数を使って計算を行う 収束程度などを作図により確認する なお、armというパッケージは、R2WinBUGSや作図で使うcodaなど、複数のパッケージの集まりです。個別にパッケージを導入するのが面倒くさい方は(私もその一人^^;)、armを導入するといいと思います。 各部分の詳細について以下で述べますが、せっかくですから実データを使って解析をしてみましょう。使うデータはこちら。R.csv モデル式を書き下ろす ここがある意味最も難しいところです。自分が考えているモデルを表現する必要がありますが、なれないうちは中々書くことができません。こればかりは慣れですので、頑張って習得してください。 今回のデータ構造とその解析目的 今回使うデータの解析の目的は、 植物に窒素を与える区と与えない区で、葉の窒素濃度に差が出るか? という問題です。窒素を与える区と与えない区でそれぞれ同種の植物が数個体あり、各個体から5枚ほど葉がサンプリングされています。 実際にファイルを開いてみると、データは以下のようになっていることがわかります。 No:個体のID Leaf:各個体の中での葉のID Ntreat:窒素処理の有無 Treatment:別の処理(今回は使いませんがあえて入れてあります。理由は後述) Ncon:葉の窒素濃度 モデル式の書き方 BUGSコードの基本的なルール BUGSコードを記述するファイルは、以下のように作る必要があります。 model { ......(モデルの中身) } このように記述したファイルを、.bugという拡張子をつけて保存します。 で、問題となるのはモデルの中身の書き方ですね。それを以下で解説します。 決定論的指定 要するに代入する部分です。 - で指定すると決定論的指定になります。決定論的指定にしては誤差などを挟む余地はないので、主に自分が考えているモデルを記述する部分になります。 今回の仮説は「植物に窒素を与える区と与えない区で、葉の窒素濃度に差が出るか?」でした。なので単純に考えられるモデルを表現すると、以下のようになりそうです。 Ncon[i] - a + coef * Ntreat[i] #aは切片(窒素が与えられないときの葉の窒素濃度)、coefは係数、iは各行を示す aとcoefだけ決まれば葉の窒素濃度がわかりそうです。でも、こんなに現象は単純でしょうか?例えば以下のようにして図を描いてみると、 plot(Ncon ~ Ntreat, col=No, d) #Noは各個体 Ntreatだけではっきりと区別できているわけではないですね。また、色の違いは個体の違いですが、個体によってずいぶんと窒素濃度が違うように見えます。 そうすると、まずモデルの予測値とデータの間にはある程度の誤差が含まれ、かつ個体によっても葉の窒素濃度に違いがありそうです。それを記述しようとすると、 Ncon[i] - mu[i] + error[i] mu[i] - a + coef * Ntreat[i] + catID[No[i]] #mu[i]はモデルの予測値、catIDは個体によって異なるカテゴリカル変数 となりそうです。 しかし、 -は代入ですから、未知の切片(a)や窒素処理の有無の係数(coef)、誤差(error)、個体間差(catID)は表現することができません。そこで、以下の確率論的指定が必要になります。 確率論的指定 確率分布を使う箇所は、確率論的指定をする必要があります。 ~ で指定すると確率論的指定になります。具体的には、 データに対し、モデルから得られる予測値を確率分布を使って当てはめる箇所 推定パラメータなど、確率分布から値を生成する箇所 といった場所は確率論的指定をする必要があります。 さて、これを踏まえて先ほどのモデルを考えると、aやcoef、error、catIDは確率論的指定を使えば表現できそうです。ただし、確率論的指定という名称からもわかるように、「どの確率分布」を使うかを決める必要があります。 特に、事前情報が無くどのような確率分布を使うかわからないときは、できるだけ無情報な確率分布を当てはめることが多いです。今回は、「平均が0、非常に分散が大きい正規分布」を用いることにします。 Ncon[i] ~ dnorm(mu[i], 0.001) #確率論的指定 mu[i] - a + coef * Ntreat[i] + catID[ID[i]] #決定論的指定 a ~ dnorm(0.0. 0.001) #確率論的指定 coef ~ dnorm(0.0, 0.001) #確率論的指定 catID[1] ~ dnorm(0.0, 0.001) #確率論的指定 ...... catID[21] ~ dnorm(0.0, 0.001) #確率論的指定 さてさて、いきなりレベルが上がったように感じると思いますが....... dnorm(mu, 1/σ)とは、平均mu、分散σの正規分布に従う値を生成する関数です。二項分布であればdbin()、ポアソン分布であればdpois()などがあります(詳しくはマニュアルを参照して下さい) 正規分布の分散については、逆数で指定するというルールがあります。なので、分散が0.001とは小さいように思えるか知れませんが、実際には1/0.001=1000です。 これらがわかったところで、もう一度上記のモデルを検討しましょう。気になるのは個体差の係数catIDですね。このままだと個体ごとに係数を独立に推定することになり、パラメータを21個も消費することになります。 しかし実際には個体差は興味のある対象ではないので、21個もパラメータを消費して個別に推定したいわけではありません。そこで、「個体差の係数は全個体でみると平均値0、分散σの正規分布に従う」と考えます。こうすると、正規分布に従うという制約が加わりますので、パラメータ数の消費を抑えることができます。 for (id in 1 21) { catID[id] ~ dnorm(0.0, tau) } またまたわけのわからない形に見えますが....... for (記号 in 数) {繰り返す内容}は、{}で囲まれた部分について「記号」に「数」を最初から最後まで代入する関数です。 つまり、idに1が入り、2が入り、......、最後に21が入ります。 さて、この21個の係数達の関係(似ているか似ていないか)は、係数の分散が小さいか大きいかという問題と言えます(分散が大きければ この分散については特に事前の情報がないので、やはりある確率分布に従う値として推定させます。ここでどのような確率分布を使うかですが、使われる分布は正規分布との積になるので、共役事前分布を使うと計算が楽になります。 共役事前分布とは、別の確率分布との組み合わせによっては、積の前後で同じ確率分布になる物です。よく知られているものとしては、 for (id 1 21) { catID[id] ~ dnorm(0.0, tau) } tau ~ dgamma(0.001, 0.001) 実装例 完成品がこちら。bayes.bug Rにデータを読ませる R上ではデータをデータフレーム形式で用意していることがほとんどかと思いますが、bugs()に渡すデータは以下の点に気をつけて準備してください。 データはリストの形で渡す必要があります 使用しないデータが含まれていてはいけません 文字列はデータとして使えません。カテゴリーデータであってもas.numeric()などで数字にしておいて下さい 初期値・パラメータの設定 後述しますが、WinBUGSが途中でこける場合の原因の多くが、初期値設定にあります。stochastic node(モデル式中で ~ で表されている部分)には初期値をきちんと与えましょう。 また、繰り返し回数やパラメータ数が多い時に全てのパラメータを結果としてみようとすると、bugs()計算が終了してRに戻るときに、「メモリーがいっぱいです」などと言われて結果が見れないことがあります。初期値はstochastic node全てに必ず与えないといけませんが、見るパラメータは絞りましょう。 bugs()の仕様 基本的には以下のbugs()関数を使ってMCMC計算を行います。bugs()はR2WinBUGSに含まれる関数です。 res - bugs(d, inits, para, "***.bug", n.chains=3, n.iter=3000, n.thin=10, n.burnin=1000, bugs.directory="c /自分がインストールしたディレクトリ", working.directory=getwd(), debug=TRUE) それぞれの項目の意味ですが、 d:データが入っているリスト inits:初期値を指定したオブジェクト para:結果としてみるパラメータを指定したオブジェクト ”***.bug”:モデル式を指定したbug ファイルの名前 n.chains:同時に走らせるシミュレーション数 n.iter:MCMC サンプリングの繰り返し数 n.thin:MCMC サンプリングを、何個おきに行うか n.burnin:MCMC サンプリングの内、最初のいくつを使用しないか bugs.directory:WinBUGS をインストールしたフォルダ(R2WinBUGS のデフォルト設定はc /Program files/WinBUGS14/なので、ほとんどの人はいじる必要がないはず。) working.directory:*.bugファイルのありかを示す。普通はRの作業フォルダにしてあるはずなので、getwd()としておけば、Rの作業ディレクトリを参照してくれる。新しい?R2WinBUGSではこの指定がないと動かない。 debug:TRUE にすると、MCMC計算が終了、あるいはうまく回らなかったときにWinBUGS が立ち上がったままになり、原因を特定できる(ことがある) 各種回数を設定するところが最も悩ましいところかと思います。どのぐらいで収束するかはデータとモデルのよしあしから決定されます。n.chainsは複数本とするのが普通で、データが大きいなど特別な理由がない限り1にはしないで下さい。普通は3ぐらいだと思います。 繰り返し数を増やせば収束しやすくなりますが、その分計算時間が増大します。今回のように少ないデータであれば問題となりませんが、1000を超えるようなデータではよく考えないと、計算時間が数時間に及びます。 n.thinはサンプリングの自己相関を除くために設定しますが、最終的に得るデータの数を減らす(きちんとシミュレーションした上で)という意味あいもあります。 慣れない内は上手くまわせないことが多いですから、debug=TRUEとしておきましょう。WinBUGSにサンプリングの図が出てくれば計算はきちんと終了していますので、WinBUGSを閉じるとRで作業できるようになります。一方、失敗した場合も、debug=TRUEとしておけばWinBUGSは立ち上がったままになりますから、原因を特定するのに役立ちます(見てもわからない場合も多々ありますが^^;)。 結果の確認 ちゃんと回ってよかったよかった、というわけにはいきません。収束していなければ意味がありません。収束を確認する最もよい方法は、MCMC計算の過程や事後分布を作図によって図示することです。 要約値の出力 たとえばresというオブジェクトにbugs()の結果を付与している場合、 res と打つと要約された推定値などが出力します。表示される桁数を変えたい場合は、 print(res, digits.summary=*) と打ちます。*の数字が出力桁数になります。 これを図で見る場合、 plot(res) とします。これを行うと、各パラメータの80%信頼区間(何故80%かはわかりませんが)、収束判定に使うR-hat値(古谷 2008を見てください)などが表示されます。 収束診断図 names(res) とすると、bugs()の結果にどのような情報が含まれているのかわかります。このうち、 sims.matrixには「chainの平均のサンプリング値」 sims.arrayには「chainごとのサンプリング値」 が含まれています。サンプリング図を示せば、収束したかは判断できそうですね。 簡単な事後分布図 こちらはchainの平均の値が使われていますから、厳密な収束診断に用いるべきではありませんが、簡単に描画することができます。 plot(as.mcmc(res$sims.matrix)) とすると、パラメータごとのサンプリング過程と事後分布図が表示されます。 as.mcmc()というのは、データをmcmcオブジェクトという形式に変換するための関数です。mcmcオブジェクトをplot()すると、自動的にサンプリング過程や事後分布図が表示される、という仕組みです。 chainごとの事後分布図 こちらはchainごとのサンプリング値が取り出せるので、収束診断として最も適当な図です。ただし、図にするには少々工夫が要ります。 chainごとのデータは配列(array。行列matrixは二次元だが、それを多次元に拡張したもの)で保存されています。これをplot()で読める形に変換します。 res$sims.arrayを表示させると、3次元のデータになっていることがわかります。ではそれぞれの次元は何を表しているかというと、 res$sims.array[サンプリング数, chain数, パラメータ数] となっています。 先ほどのmcmcオブジェクトに変換するための関数as.mcmc()は、一度に1chainのデータしか変換することができません。そこで、指定した列に関数を適用できるlapply()を使い、各chainのデータをmcmcオブジェクトに変換します。 lapply()は、 lapply(使いたいリスト形式のデータ, 関数) という書き方が基本です。ただし、今回のように、as.mcmc()を全部に適用するのではなく、各chainごとに、というように、自分で動作を指定する場合は、 lapply(関数を適用する列番号, function(x) .....(動作の中身)) という書き方をします。 lapply()は結果をリスト形式で返しますが、そのままでは描画することができません。そこで、mcmc.list()という関数を使ってmcmcリストというこれまた変な形式のリストに変換して、一つのリストとします。これをplot()に放り込めば望むような図が出力されます。 以上を踏まえ、 plot(mcmc.list(lapply(1 res$n.chains, #1からres$n.chainsまで(要は指定したchain数) function(x) as.mcmc(res$sims.array[, x, ]) ) ) ) とすると、chainごとに自動で色分けされたサンプリング過程と事後分布図が表示されます。