次のコードを使用して、必要なデータを取得しましたが、何らかの理由で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セッションを生成します。 Rstudioを使用するときは、RセッションごとにCRANを設定する必要があることを忘れがちです。これは、knitrではなくインタラクティブな使用のみを行うためです。
install.packages
引数としてミラーを指定してみてください:
install.packages("weatherData",repos = "http://cran.us.r-project.org")
または、.Rprofile
にデフォルトのCRANミラーを設定できます。 この回答 を参照してください。
ただし、複数回コンパイルする可能性のあるknitrドキュメントを介してパッケージをインストールするのは得策ではありません。必要に応じて不足しているパッケージをインストールする方法を人々が知っていると仮定するか、少なくともパッケージを再インストールする前にインストールされているかどうかをテストする必要があります
if(!require(weatherData)) install.packages("weatherData",repos = "http://cran.us.r-project.org")
RでCRANリポジトリを設定する必要があります。設定するには、RまたはRStudioを起動します。 Rターミナルで次のコードを実行します。
r = getOption("repos")
r["CRAN"] = "http://cran.us.r-project.org"
options(repos = r)
install.packages("weatherData")
上記のコードは、RでCRANリポジトリを定義し、次回のパッケージインストールでは、再度定義する必要はありません。
別の方法は、単にinstall.packages("weatherData", repos="http://cran.us.r-project.org")
を実行することです。ただし、2番目のソリューションでは、リポジトリは設定されず、すべてのパッケージインストールでパラメーターとして渡す必要があります。