チラシの裏の落書き日記

統計とか,研究とか,日常についての備忘録的なもの。

R

Slice sampling(スライスサンプリング)の簡単な例をRでやってみた。

テラモナギさんの記事と,PRMLの11.4節を参考にしてみた。 https://teramonagi.hatenablog.com/entry/20130203/1359888495#fn-b0191759 本当はもとの論文を見るべきだが,大体あっていそうなのでOKなような気がする。 (1変数の確率密度からの)スライスサン…

Rでforeachをつかって楽にシミュレーションを分割してみる雛形

この雛形を使うと並列計算ができる。個人的には返り値などは基本的に全部書きだしてあとで分析する形にしておくと安心。 シミュレーションを関数にしてしまうことと,foreach関数の指定のときに必要なパッケージや環境の変数(自作の関数とか)を全部持って…

Stanでマルチレベル(マニュアルコピペ)

参考: https://mc-stan.org/docs/2_18/stan-users-guide/multivariate-hierarchical-priors-section.html 1.13 Multivariate Priors for Hierarchical Modelsより 高速なコードにはなっていないが,これで基本的にはOK。 添字が慣れたものではないが,読め…

Rの出力の色などを変更したい+forなどの繰り返し出力を1行で表示したい

R

GitHubにある,crayonパッケージを使えば簡単 github.com 詳しくはヘルプを見たり,exampleを走らせればすぐにわかる。 簡単に使えるので,良さそう。 library(crayon) cat(blue("Hello", "world!\n")) # Crayon defines the %+% string concatenation opera…

自分のためのRcpp使い方リンク集(随時更新)

R

みんなのRcpp teuder.github.io Rcpp 使い方 - Rcpp 入門アルマジロの使い方 aaaazzzz036.hatenablog.comaaaazzzz036.hatenablog.comaaaazzzz036.hatenablog.comaaaazzzz036.hatenablog.com

JAGSで予測分布の作成その2

IRTモデルで予測分布や対数尤度の計算などをおこなってみる。 対数密度の記述は以下の頁の質問に少し書かれている。 https://sourceforge.net/p/mcmc-jags/discussion/610037/thread/c728e87b/ The general rule is that if y ~ dfoo(alpha, beta, gamma, ..…

JAGSでの予測分布の作成

やり方は簡単で,予測分布を未知の変数としてモデルに書けばいい。 Stanではgenerated quantitiyブロックでrng系の関数を使えばいいが,JAGSではそのまま"x_pred ~ dnorm(mu, sigma)"などとするとRでいうところのx_pred sigma)のように乱数を生成してくれる…

JAGSで対数尤度を得る方法(Stanも)

R

WAICなどを計算するには,対数尤度のMCMCサンプルが必要。 個々のMCMCサンプルからがんばって計算する方法もあるが,より簡単にはMCMCサンプラーのなかで対数尤度を得ると楽。 Stanではgenerated quantityが容易されているが,JAGSでは少し工夫が必要。参考 …

MplusのMCMCサンプルをGetする方法(+Mplusの結果をRでプロットする方法)その1

気が向いたらStanやJAGSなどとの対応関係をきちんと取りならが検算を行っていきたい。 MCMCサンプルは「.gh5」ファイルに入っているので,これを読み込む。以下の資料のp.65あたりの「mplus.get.bayesian.」を利用すると,ギブスサンプラーのMCMCサンプルが…

よく必要になるけど,よく忘れるR(とExcel)の小技メモ

R

文字(数字)の桁数を揃えたい。 参考URL: http://d.hatena.ne.jp/teramonagi/20100902/1283429021 formatC("hoge", widh = 5, flag="0")flagは '0 + - #' だけが指定可能とのこと。 不要な空白を消したい。 # いらない空白を全て削除する # 全角半角の指定…

平均値の信頼区間のシミュレーションプロット

R

Rで,信頼区間を書いていいプロットするコードのメモ。 layout関数で,上手くプット画面を分割して,さも1枚のグラフかのように見せかけるのがポイント。 けっこう可愛い感じのグラフを描画できる。 # # 縦向きの,信頼区間の図。 # ポイントは,レイアウト…

list操作めも

R

Rのリスト操作について改めてまとめる。 特に,purrrなどを用いた操作を理解すること。purrrの使い方についてのページ purrr: ループ処理やapply系関数の決定版 - Heavy Watal Hadley神のListについてのページ Lists · R for Data Scienceforループ的なlappl…

Rの関数のソースコードなど見たいときの方法

R

一番有名な,関数名をタイプするものでは見れないものについて。 あまり日本語の記事が無いようなきがしたので,メモを残してておく。 library("Matrix") Matrix # Matrix関数の中にある謎の関数。このままだとエラーが返ってくる。 spV2M # コロン3つなの…

MplusでMCMCした結果を使ったSEMでの情報仮説の評価

ちょっと気になったので,近年一部界隈で話題になっているベイズ情報仮説の評価をやってみる。 普通に計算すると大変なベイズファクターも,情報仮説の元では簡単に計算できる。元ネタは以下の資料 http://www.tandfonline.com/doi/abs/10.1080/17405629.201…

Lavaanによるパラメータ推定結果を見やすくグラフにする。(Gelman's secret weaponのパクリ)

R

尊敬するHoxo_mさんらが翻訳された”みんなのR”にあるGelman's secret weaponを真似して自分の武器を作成してみようかと思う。 d.hatena.ne.jp https://www.amazon.co.jp/みんなのR-データ分析と統計解析の新しい教科書-Jared-P-Lander-ebook/dp/B012Z86Q6Qや…

RからJuliaを使う

Rから今流行のスクリプト言語Juliaを使いたい。 普通にJuliaにパスを通してRのsystem関数を使えばいいのだけれど,パスを通さずにRで下のような関数を書いて作業をする。jlfileにはJuliコードを書いた拡張子.jlであるファイル名を入れる。jlfilepathは作業フ…

jagsUIなるパッケージ

R

MCMCサンプラーのうちの1つであるJAGSをRから利用する新しいパッケージができたようだ。基本はrjagsのラッパーのようだが,並列計算の指定などがやりやすそうだ。今後,これを中心に使っていくかもしれないのでヘルプにあった例をコピペしておく。初期値の指…

lmerでの3レベルモデルの実行

3レベルの階層線形を行う時のlmerのメモ学校のなかに,個人がネストされていて,個人の中に測定時点がネストされている場合。学校IDをschool_id, 個人IDがind_id,あとは独立変数をx, 従属変数をyとする。簡単のため,中心化は行われているとして,レベル2以…

Rの使いかたメモ(purrrの使いかたについて)

最近読んだ良記事 最近のRの界隈で流行っている(気がする)purrrパッケージの使いかたについて。 よく参照させてもらうので,とりあえずまとめておく。sinhrks.hatenablog.com sinhrks.hatenablog.com uribo.hatenablog.com {purrr} による非テーブルデータ…