2015-06-20 25 views
5

我是新用戶RStudio,並使用.rmd文件和HTML針織誤差R工作室針織HTML與install.packages線

時遇到了一個錯誤。如果我有一個install.packages行:

install.packages('ggplot2'); 
library(ggplot2); 

當我點擊針織HTML,則返回一個錯誤:

錯誤contrib.url(回購協議, 「源」):嘗試使用CRAN沒有 設置鏡子電話:... withVisible - > eval - > eval - > 個install.packages - > contrib.url執行暫停

我能解決這個使用:

if (!require('ggplot2')) 
{ 
    install.packages('ggplot2'); 
    library(ggplot2); 
} 

如果我正在寫一個.rmd,做我需要使用if (!require(線每次我安裝一個新的軟件包?有沒有辦法避免這種情況,所以我只能寫install.packages(

+6

你嘗試做類似:'install.packages(「 GGPLOT2」,回購= 'http://cran.us.r-project.org' )'? – hrbrmstr

+2

爲什麼你需要一個'install.packages'行?每次編譯Rmd時,是否真的想重新安裝軟件包?通常你會在一個單獨的交互式會話中安裝軟件包,並在你的Rmd中使用'library'。 –

+0

正如@hrbrmstr所建議的,如果你設置'repos'參數,那麼它就行得通,我剛剛測試過它。 – SabDeM

回答

1

您每次不需要install.package()行。

通常情況下,您應該在控制檯或單獨的交互式會話中安裝軟件包,或者在安裝該庫(此處爲ggplot)後刪除該行。

只需使用庫(GGPLOT2)

library(ggplot2); 

希望它可以幫助

+0

謝謝你的指正,我想提一提關於去除install.package的()。就我所知,沒有必要使用if語句。 –

1

同時採用了針織文檔和我做了以下在R劇本的事情,我也收到同樣的錯誤:

  1. 在控制檯中運行命令以設置默認存儲庫: options(repos = structure(c(CRAN =「http://cran.r-project.org」)))

  2. 添加下面的代碼在你的[R演播室: 選項(回購= 「https://cran.rstudio.com」)

  3. 添加所需的軟件包的URL引用,例如: install.packages ( 「pscl」,回購= 「https://cran.rstudio.com 」)