Rのプログラムを実行しようとして起きたエラーをここに記します。
1. rJava packgeが読み込めない
エラーメッセージ
> library(rJava)
Error: package or namespace load failed for ‘rJava’:
.onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so':
dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6): Library not loaded: @rpath/libjvm.dylib
Referenced from: /Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so
Reason: image not found
解決法
このエラーはjavaのアップデートをした後にRとjavaの設定が噛み合わないために起こるエラーのようです。
以下のコマンドを実行することで再設定を行います。
sudo R CMD javareconf
参考リンク
2.detachが動かない
detach("name")
上のようなコードを実行しようとした結果、下のようなエラーが起きて止まることがあります。
エラーメッセージ
Error in detach("name") : invalid name argument
解決法
このエラーは複数のバージョンのpackageが一度にロードされたときに起こるエラーのようです。
deatch
の代わりに以下の関数を設定、実行することで対処します。
detach_package <- function(pkg, character.only = FALSE)
{
if(!character.only)
{
pkg <- deparse(substitute(pkg))
}
search_item <- paste("package", pkg, sep = ":")
while(search_item %in% search())
{
detach(search_item, unload = TRUE, character.only = TRUE)
}
}
# 使い方1
detach_package(vegan)
# 使い方2
detach_package("vegan", TRUE)
参考リンク
3.packageがインストールできない
R 3.5.0未満のRでかかれたコードにある biocLite.R
によるpackageインストールはR 3.5.0以降で実行すると失敗する。
source("https://bioconductor.org/biocLite.R")
biocLite("gpls")
解決法
R 3.5.0以降に対応したコードに変更することで対応します。
install.packages("BiocManager", repos = "http://cran.mirror.garr.it/mirrors/CRAN/")
BiocManager::install("gpls")
参考リンク
https://bioconductor.org/install/
https://qiita.com/manabuishiirb/items/88fb9d5207e6802da4b7