到目前为止,我一直在使用这段代码来加载 R 包并编写 .R 文件。但我正在尝试使用knitr
rm (list=ls(all=TRUE))
kpacks <- c('ggplot2','install_github','devtools','mapdata')
new.packs <- kpacks[!(kpacks %in% installed.packages()[,"Package"])]
if(length(new.packs)) install.packages(new.packs)
lapply(kpacks, require, character.only=T)
remove(kpacks, new.packs)
options(max.print=5.5E5)
但现在,当我将这段代码放入 Knit 文档中时,出现以下错误:
Error in contrib.url(repos, "source") :
trying to use CRAN without setting a mirror calls:......
我怎样才能解决这个问题?
对你的问题的狭义回答是你应该设置你的repos
option:
options(repos=c(CRAN="<something sensible near you>"))
您遇到了这个问题,因为当存储库选项最初未设置时,R 的默认行为是查询用户——而当您以非交互方式运行代码时,它无法执行此操作。
更广泛地说,我会问你是否想在 R 代码中包含此类内容;在某些情况下这可能会出现问题。
- 如果用户没有网络连接怎么办?
- 如果他们在地理位置上离你很远,以至于你的默认存储库设置没有意义怎么办?
- 如果他们不想下载和安装(可能很大)软件包怎么办?
我的首选做法是在运行代码的说明中指定用户应该安装软件包 X、Y、Z(并为他们提供安装它们的示例代码,以防他们对 R 缺乏经验)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)