1. ホーム
  2. r

[解決済み】knitrのドキュメントでinstall.packagesが失敗する。"ミラーを設定せずにCRANを使おうとしている"

2022-01-21 05:39:17

質問

次のコードを使って、欲しいデータを手に入れましたが、なぜかわかりません。 knitr は、さらに下に示すように、PDFドキュメントをコンパイルさせてくれません。

私のコード

install.packages("weatherData")
library(weatherData)
istanbul <- getWeatherForDate("Istanbul",
                              start_date = Sys.Date() - 41, 
                              end_date = Sys.Date())

問題なく動作していますが、PDFをコンパイルしようとすると次のようなメッセージが表示されます。

Quitting from lines 3-31 (ist_weather.spin.Rmd) 
Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: <Anonymous> ... eval -> eval -> install.packages -> grep -> contrib.url
Execution halted

解決方法は?

KnitrはRセッションを生成しますが、特に指定しない限り、デフォルトのCranミラーを使用しません。Rstudioを使うと、RセッションごとにCRANをセットアップする必要があることを忘れがちですが、それはインタラクティブに使う場合だけで、Knitrではありません。

としてミラーを指定してみてはいかがでしょうか。 install.packages 引数で指定します。

install.packages("weatherData",repos = "http://cran.us.r-project.org")

あるいは、デフォルトのCRANミラーを .Rprofile . 参照 本解答 .

それはそうと。 何度もコンパイルすることになるであろうKNITRドキュメントからパッケージをインストールするのは良いアイデアではありません。 . 必要であれば、人々は不足しているパッケージをインストールする方法を知っていると仮定すべきですし、少なくともインストールする前にパッケージがインストールされているかどうかテストする必要があります。

if(!require(weatherData)) install.packages("weatherData",repos = "http://cran.us.r-project.org")