読者です 読者をやめる 読者になる 読者になる

ubuntu14.04LTS環境(R3.0.2)でlavaanパッケージをインストールする

ubuntuを使ってlavaanパッケージをインストールしようとして奮闘していたので、その備忘録です。

ubuntu14.04LTSではRのバージョンが3.0.2となっており、R3.0.2ではlavaanパッケージが通常の流れ(install.packages関数を使う)からインストールできなくなっています。インストールしようとすると下記のエラーが出るはずです。

install.packages("~/ダウンロード/lavaan_0.5-18.tar.gz", repos = NULL, type = "source")

Installing package into ‘/home/rakugou/R/x86_64-pc-linux-gnu-library/3.0’ (as ‘lib’ is unspecified)

エラー: この R はバージョン 3.0.2 です。

パッケージ 'lavaan' は R >= 3.1.0 を必要とします

Warning in install.packages : installation of package ‘~/home/ダウンロード/lavaan_0.5-18.tar.gz’ had non-zero exit status

原因はどうやら、lavaanの最新のバーションがR3.1.0にしか対応してないため、旧バージョンのR3.0.2ではインストールできなくなっているようでした。

そのような場合、CRANから過去のデータを引っ張ってくると解決できます。

lavaanパッケージのCRANをブラウザで検索し、(リンク)過去データの中から、執筆現在一つ古いバージョンであるlavaan 0.5-17.tar.gzをダウンロード。Windowsだと、zipファイルをダウンロードするようですが、そこまでは試してないです。

ちなみに、RStudioでは、[tools]→[install packages...]から、CRANのところをタブ選択して、tar.gzファイルをインストールするように切り替えます。すると下記画面が出てくるので、一番上のタブを画面のように書き換えます。(デフォルトではCRANになっているはずです)で[Browse]ボタンから先程CRANからダウンロードしたtar.gzファイルを選択します。

f:id:rakugou:20150504222858p:plain

また、同じことをRでやろうとすると、下記の関数が必要となります。

install.packages("~/ダウンロード/lavaan_0.5-17.tar.gz", repos = NULL, type = "source")

ダウンロードしたものをRStudioで 読み込ませると「mnormtパッケージとpbvnormパッケージが不足しています」と言われます。RStudioではデフォルトで依存するパッケージも一緒にインストールしてくれるのですが、その手間が追加でかかるようです。pbvnormパッケージ, mnormtパッケージはlavaanと同様CRANのサイトへ行き、パッケージをtar.gz形式でインストールします(何故かCRANから直接インストールできないようです)。

その後もう一度lavaanをインストールすると、lavaanパッケージをインストールできるようになります。

まとめ

上記ですが、RStudioだと上記の動作をGUI環境でできるので、かなり便利です。 コードさえ覚えてしまえばCUIでもできなくはないんですが、やはり初学はGUIのほうが楽だと思います。 また、lavaanパッケージをインストールした理由は、パス解析をRでできるようになるという卒論時代からの夢で、これができるようになるというのが胸熱でした。下記の本の第4章をパス解析をやってみたのですが、出力結果は同じようで安心しました。

M-plusとRによる構造方程式モデリング入門

M-plusとRによる構造方程式モデリング入門

これで積年の夢が叶いそうです。大変良かったです。しかし、卒論が終わってしまった現在、Rを使うことがなかなかないんですよね。この技術が日の目を見ることがあるのでしょうか。