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
  


「~ does not seem to be installed on your platform」と表示される

パッケージによっては、別途ツールをインストールしておく必要があるものがあり、 そのツールが見つからないと以下のようなエラーが表示されてインストールに失敗します。

> 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’
>
    

パッケージのインストールに必要なツールが玄界に入っているかどうか分からない場合は、 窓口に問い合わせてください。(問い合わせ


参考資料