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を立ち上げたときに毎回設定しなくてはならないことにご注意ください。

関連する記事

  • Bioconductor Workflowパッケージ一覧Bioconductor Workflowパッケージ一覧 BioconductorのWorkflowパッケージの一覧をご紹介します。英語での説明文をgoogle翻訳を使用させていただき機械的に翻訳したものを掲載しました。パッケージを探す参考にしていただければ幸いです。 パッケージ確認日:2021/01/01 パッケージ数:28 1. rnaseqGene RNA-seq workflow: gene-level […]
  • R 文字列の行を指定した幅で強制的に折り返す方法R 文字列の行を指定した幅で強制的に折り返す方法 R […]
  • 経営戦略に使えるABC分析の基礎知識と活用法経営戦略に使えるABC分析の基礎知識と活用法 ABC分析は売上に関する経営戦略を立てるうえで、最も基本となる分析手法である。ABC分析とは、販売管理、顧客管理で使われる分析の一つで、ある期間で対象を重要度によって分類することにより現状を把握し易くする分析手法だ。 それでは早速解説していく。 ABC分析の手順 期間を過去一年間、対象を商品、重要度を売上とした場合を例に取り、ABC分析を行う手順を説明していく。 […]
  • RStudioのエディタテーマ一覧RStudioのエディタテーマ一覧 RStudio(ver 1.0.153)のエディタテーマの一覧をご紹介します。 Ambiance Chaos Chrome Clouds Midnight Clouds Cobalt Crimson Editor Dawn Dreamweaver Eclipse Idle Fingers Katzenmilch Kr […]
  • R スティール(Steel)法R スティール(Steel)法 スティール(Steel)法とは、ダネット(Dunnett)法の多重比較に対応するノンパラメトリックな多重比較である。 スティール法を簡単に言うと、正規分布を仮定しない1つの対照群と2つ以上の処理群間を順位を用いて多重比較で調べる方法である。 Rで、スティール法を使う場合は、「スティール(Steel)の方法による多重比較」のページにソースコードが紹介されている。 […]
R アップデート後にパッケージが見つからない場合の対処法