R
Rは統計処理とグラフ作成のためのフリーソフトウェアです。 R言語と呼ばれるプログラミング言語による記述による計算を行い、 統計解析の分野で広く用いられています。
利用方法
現在、ログインノードと各計算ノードで Rのバージョン 4.3.3を利用可能です。
moduleコマンドによるモジュールの loadは不要です。
対話型処理
以下のように、RコマンドでR環境を起動し、
対話的に利用することができます。
$ R
R version 4.3.3 (2024-02-29) -- "Angel Food Cake"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)
R は、自由なソフトウェアであり、「完全に無保証」です。
一定の条件に従えば、自由にこれを再配布することができます。
配布条件の詳細に関しては、'license()' あるいは 'licence()' と入力してください。
R は多くの貢献者による共同プロジェクトです。
詳しくは 'contributors()' と入力してください。
また、R や R のパッケージを出版物で引用する際の形式については
'citation()' と入力してください。
'demo()' と入力すればデモをみることができます。
'help()' とすればオンラインヘルプが出ます。
'help.start()' で HTML ブラウザによるヘルプがみられます。
'q()' と入力すれば R を終了します。
> 1 + 2
[1] 3
> sin(pi/3)
[1] 0.8660254
> (1+2i) * (1-2i)
[1] 5+0i
> a <- 1
> a+2 -> b
> b
[1] 3
> q()
Save workspace image? [y/n/c]: n
|
バッチジョブ
バッチジョブでは、ジョブスクリプト中で Rコマンドに --slave --vanilla オプションを付けることで、
Rのスクリプトを実行できます。
#!/bin/bash
#PJM -L rscgrp=a-batch
#PJM -L node=1
#PJM -L elapse=00:20:00
#PJM -j
#PJM -S
R --slave --vanilla < test.R
|
パッケージのインストール
Rで install.packages("パッケージ名")によりRパッケージのインストールを行う際に、
警告やエラーが表示される場合があります。
以下に、いくつかの場合について対処方法を紹介します。
「書き込み可能ではありません」と表示される
Rでは、パッケージをインストールする場所について何も指定していないと、管理者権限が必要な場所に対してパッケージをインストールしようとするため以下のような警告メッセージが表示されます。
> install.packages("markdown")
パッケージを ‘/usr/lib64/R/library’ 中にインストールします
(‘lib’ が指定されていないため)
install.packages("markdown") で警告がありました:
'lib = "/usr/lib64/R/library"' は書き込み可能ではありません
Would you like to use a personal library instead? (yes/No/cancel)
|
Rを対話的に利用している場合は、ここで yes を選択するとホームディレクトリ内へのインストールを提案されるので、それに従ってインストールを完了することが出来ます。
一方、予めパッケージをインストールする場所を指定する方法としては、以下の二つがあります。
-
毎回同じ場所にパッケージをインストールする
例えば以下を実行しておくと、次回からホームディレクトリの Rpackagesというディレクトリに全てのパッケージがインストールされるようになります。通常は、こちらを推奨します。
$ mkdir ${HOME}/Rpackages
$ echo R_LIBS_USER = ${HOME}/Rpackages > ${HOME}/.Renviron
|
-
install.packages実行毎に指定する
以下のように、install.packagesに対してインストール先(この例では/home/pj24001603/ku40000105/Rpackages)を指定することが出来ます。
> install.packages("markdown",lib="/home/pj24001603/ku40000105/Rpackages")
|
「CRAN のミラーサイトを選んでください」と表示される
CRANのミラーサイトとは、Rのパッケージのダウンロード元として使用できるサイトです。
対話的に利用している場合、予め指定していなければその場で選択できます。
一方、例えば以下のように実行しておくと、次回から指定したサイト(この例では https://ftp.yz.yamagata-u.ac.jp/pub/cran/)を自動的に利用するようになります。
$ echo options(repos = structure(c(CRAN = "https://ftp.yz.yamagata-u.ac.jp/pub/cran/"))) > .Rprofile
|
パッケージによっては、別途ツールをインストールしておく必要があるものがあり、
そのツールが見つからないと以下のようなエラーが表示されてインストールに失敗します。
> install.packages("hdf5r")
...
configure: error: hdf5 does not seem to be installed on your platform.
Please install the hdf5 library.
...
ERROR: configuration failed for package ‘hdf5r’
* removing ‘/home/pj24001604/ku40000114/local/R/libs/hdf5r’
ダウンロードされたパッケージは、以下にあります
‘/tmp/RtmpQgFYJh/downloaded_packages’
警告メッセージ:
install.packages("hdf5r") で:
パッケージ ‘hdf5r’ のインストールは、ゼロでない終了値をもちました
|
例えば上記のエラーでは、"Please install the hdf5 library" と表示されているため、
hdf5というツールが必要であることが分かります。
このような表示が出た場合、通常はそのツールをインストールする必要がありますが、
もしかしたら玄界に既にインストールされているかもしれませんので、
まず、玄界の show_moduleコマンドを使って調べてみることをおすすめします。
例えば以下の例のように玄界にインストールされているソフトウェアの中から hdf5というキーワードを含むツールを探してみると、モジュール名 hdf5/1.14.4でインストールされていることが分かります。また、このモジュールを使用するには gcc-toolset/12というモジュールも必要であることも分かります。
$ show_module -k hdf5
ApplicationName ModuleName NodeGroup BaseCompiler/MPI
------------------------------------------------------------------------------------------------
HDF5 hdf5/1.14.4 LoginNode gcc-toolset/12
...
|
そこで以下の例のようにこれらのモジュールを loadしてからRを起動してパッケージをインストールすると、
インストールに成功しました。
$ module load gcc-toolset/12 hdf5
$ R
R version 4.3.3 (2024-02-29) -- "Angel Food Cake"
Copyright (C) 2024 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)
...
> install.packages("hdf5r")
...
* DONE (hdf5r)
ダウンロードされたパッケージは、以下にあります
‘/tmp/Rtmpgo3uqC/downloaded_packages’
>
|
パッケージのインストールに必要なツールが玄界に入っているかどうか分からない場合は、
窓口に問い合わせてください。
参考資料