Ubuntuで、Rのバージョンを3.4.1にアップデートした後、パッケージが見つからない場合の対処法をお伝えいたします。

すでにRStudio上でRを動かしている場合、パッケージのインストール先はデフォルトでユーザーのホームディレクトリ配下になっています。
今回の問題は、このホームディレクトリ配下のパスを認識しなくなったことが原因です。

環境

環境を確認しておきます。

ubuntuのバージョン


$ cat /etc/lsb-release

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.2 LTS"

Rのバージョン


$ R --version

R version 3.4.1 (2017-06-30) -- "Single Candle"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under the terms of the
GNU General Public License versions 2 or 3.
For more information about these matters see
http://www.gnu.org/licenses/.

RStudioのバージョン


RStudio
Version 1.0.143 – © 2009-2016 RStudio, Inc.
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/538.1 (KHTML, like Gecko) RStudio Safari/538.1 Qt/5.4.0

確認

R上でRがどのパスを認識しているかを確認します。
私の環境では次のようになり、ホームディレクトリ配下のパッケージのインストール先が認識されていないことが確認できます。


> .libPaths()
[1] "/usr/local/lib/R/site-library" "/usr/lib/R/site-library"       "/usr/lib/R/library"

対処法: 今までと同じ

R起動時にホームディレクトリ配下のパッケージのインストール先ディレクトリを認識するためには、/etc/R/Renvironファイルを変更します。
次は、vimで/etc/R/Renvironを開いています。


$ sudo vim /etc/R/Renviron

/etc/R/Renvironファイルで43〜45行目あたりの次の箇所をコメントアウトします。


【変更前】
# edd Jun 2017  Comment-out R_LIBS_USER
#R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.4'}
##R_LIBS_USER=${R_LIBS_USER-'~/Library/R/3.4/library'}

【変更後】
# edd Jun 2017  Comment-out R_LIBS_USER
R_LIBS_USER=${R_LIBS_USER-'~/R/x86_64-pc-linux-gnu-library/3.4'}
##R_LIBS_USER=${R_LIBS_USER-'~/Library/R/3.4/library'}

最後に、Rを立ち上げ直してR上で設定した内容が反映されているかを確認します。


> .libPaths()
[1] "/home/system-developer/R/x86_64-pc-linux-gnu-library/3.4"
[2] "/usr/local/lib/R/site-library"                           
[3] "/usr/lib/R/site-library"                                 
[4] "/usr/lib/R/library" 

対処法: 一時的

一時的に、指定したディレクトリをパッケージのインストール先として認識させる場合は、Rの.libPaths関数を用いて反映させることもできます。
.libPaths関数の引数に、既存のディレクトリと新たに追加するディレクトリを指定すれば認識されます。


> .libPaths(c(.libPaths(), "/home/system-developer/R/x86_64-pc-linux-gnu-library/3.4/"))

この方法は一時的にディレクトリを認識させる方法であるため、Rを立ち上げたときに毎回設定しなくてはならないことにご注意ください。

関連する記事

  • Ubuntu TensorFlowのGPU版をpipでインスールする手順Ubuntu TensorFlowのGPU版をpipでインスールする手順 Ubuntu上で、TensorFlowのGPU版をpipでインストールする手順をお伝えする。 TensorFlowのバージョン0.6.0からPython3が使えるようになったので、Python3を用いることにする。 ここに記載されていることの大部分は、TensorFlowのDownload and […]
  • Python CaboChaを用いて係り受け構造を抽出する方法Python CaboChaを用いて係り受け構造を抽出する方法 Pythonと日本語係り受け解析器であるCaboChaを用いて係る語と受ける語のペアを抽出する方法をご紹介する。 環境:Ubuntu14.04 Pythonツールのインストール PythonからCaboChaを扱うために、CaboChaに付属しているPythonのsetup.pyをインストールする。 これはPython2系専用であることに注意する。 caboch […]
  • R OSを判別する方法R OSを判別する方法 RでOSを判別するには、.Platformまたはversion、Sys.info()からOS情報を取り出すことで対応できます。 しかし、これらから取り出されたOS情報は微妙に異なります。 以下、WindowsとLinux(Ubuntu)で試した結果を記載します。 Windows > .Platform$OS.type [1] […]
  • Ubuntuに日本語係り受け解析器CaboChaをインストールする手順Ubuntuに日本語係り受け解析器CaboChaをインストールする手順 日本語のテキストデータを解析する際に、係り受けを抽出したいときがある。係り受けを行うことができるフリーのソフトウェアの一つにCaboChaがある。CaboChaは, Support Vector […]
  • R言語 CRAN Task View:系統学、特に比較方法R言語 CRAN Task View:系統学、特に比較方法 CRAN Task View: Phylogenetics, Especially Comparative Methodsの英語での説明文をGoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。 Maintainer: Brian O'Meara Contact: omeara.brian at […]
R アップデート後にパッケージが見つからない場合の対処法