[解決済み] Rscriptです。というパッケージは存在しないのですが・・・?
質問
Rscriptを使用してRファイルをバッチモードで実行したいのですが、必要なライブラリが読み込まれないようです。具体的には、以下のようなエラーが発生します。
Error in library(timeSeries) : there is no package called 'timeSeries'
Execution halted
しかし、私はパッケージ
timeSeries
で、Rstudio、RGui、Rのコマンドラインから問題なく読み込むことができます。問題はRscriptを使用してスクリプトを実行するときだけのようです。
私のシステム/環境変数は次のように設定されています。
C:\Program Files\R\R-3.1.0\bin\x64 (Appended to PATH)
R_HOME = C:\Program Files\R\R-3.1.0
R_User = Patrick
同じバージョンのRをRStudio、RGui、コマンドラインからのRで動かしています。また
.Library
をこの3つのソースから取得し、同様に同じ出力が得られました。
Rで使っている(インストールしている)パッケージで、コマンドラインからRscriptを実行するにはどうしたらよいでしょうか?
EDIT
を経由してRscriptを使用しています。
Rscript script.r
があるディレクトリで、Windowsのコマンドラインから
script.r
が配置されています。
の出力は
Rscript -e print(.Library)
は
[1] "C:/PROGRA~1/R/R-31~1.0/library"
というのは、先ほどの他の3つの選択肢と一致します。
[1] "C:/PROGRA~1/R/R-31~1.0/library"
ところが、これをスクリプトに書いてみると。
print(.libPaths())
library(timeSeries) #This is the package that failed to load
という出力が出る。
[1] "C:/Program Files/R/R-3.1.0/library"
Error in library(timeSeries) : there is no package called 'timeSeries'
Execution halted
RStudio の対応する呼び出しは、パッケージが実際にインストールされる場所への追加パスを提供します。
> print(.libPaths())
[1] "C:/Users/Patrick/Documents/R/win-library/3.1" "C:/Program Files/R/R-3.1.0/library"
解決方法は?
要するに
Sys.getenv('R_LIBS_USER')
は、R.exe でこれをコマンドラインで呼び出したときと同じ値である必要があります。
Rscript.exe -e "Sys.getenv('R_LIBS_USER')"
そして の場合、このコマンドライン呼び出しに上記の値が含まれている必要があります。
Rscript.exe -e ".libPaths()"
注意事項
の値は
R_LIBS_USER
の値が異なる場合、R.exe と Rscript.exe で異なる場合があります。
R_USER
が変更された場合
.Rprofile
または
へのショートカットのターゲットフィールドにある
R.exe
と、一般的には、ユーザーライブラリ(つまり
.libPaths()[2]
は、Rscript.exe に設定されていないだけです。
を設定するのが好きなので
R_USER
を私の
USERPROFILE
の先頭に、以下のブロックを挿入しています。
.R
複数のコンピュータで実行したいファイルや、Rscript.exeの中で実行したいファイル
.Rprofile
(例
Rscript -e "path.expand('~/.Rprofile')"
):
# =====================================================================
# For compatibility with Rscript.exe:
# =====================================================================
if(length(.libPaths()) == 1){
# We're in Rscript.exe
possible_lib_paths <- file.path(Sys.getenv(c('USERPROFILE','R_USER')),
"R","win-library",
paste(R.version$major,
substr(R.version$minor,1,1),
sep='.'))
indx <- which(file.exists(possible_lib_paths))
if(length(indx)){
.libPaths(possible_lib_paths[indx[1]])
}
# CLEAN UP
rm(indx,possible_lib_paths)
}
# =====================================================================
関連
-
[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"
-
[解決済み】Rで立方根と対数変換をする
-
[解決済み】エラー。Rの'break'の数が無効
-
[解決済み】 colMeans(x, na.rm = TRUE) のエラー : KNN分類では 'x' は数値でなければならない
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】 file(filename, "r", encoding = encoding) : cannot open the connectionでエラーが発生する。
-
[解決済み】Rの整数オーバーフローとは何ですか、そしてどのように起こるのですか?
-
[解決済み】Rはプロットするが、アブラインを描画しない
-
[解決済み] リフレクションを使って、パッケージ内のすべてのクラスを見つけることができますか?
-
[解決済み】Rprofile.siteの.libPathsを使用してRのデフォルトライブラリパスを変更しても動作しない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】エラー:私のコードで予期しないシンボル/入力/文字列定数/数値定数/SPECIALが発生した
-
[解決済み】scale_color_manual()が動作しない件
-
[解決済み] write.tableしようとすると、未実装の型リストが表示される。
-
[解決済み】「'dimnames' [1]の長さが配列の範囲と等しくない」とはどういう意味ですか?
-
[解決済み】r Error dim(X) must have a positive length?
-
[解決済み] [Solved] read.csv warning 'EOF within quoted string' prevents complete reading of file.
-
[解決済み】エラー - replacement has [x] rows, data has [y].
-
[解決済み】 .subset2(x, i, exact = exact)のエラー:Rの添え字が範囲外である。
-
[解決済み】各グループの上位3要素を計算する際に「数値型、論理型、複合型でのみ可能な演算」を回避する方法
-
[解決済み】R4DSのエラー比較(1)は、アトミック型とリスト型でのみ可能です