为了使我的功能正常工作,我首先需要加载一些包。我想自动加载这个包。也就是说,在代码的第一部分中,它将查找是否加载了所需的包,而不是在尚未加载的情况下加载它。我想出了下面的代码
#Install and/or load necessary packages
packages <- c("chron","ncdf","rgdal")
i.count <- 1
while (i.count <= length(packages)) {
if (packages[i.count] %in% rownames(installed.packages()) == FALSE) {
install.packages(packages[i.count])
require(packages[i.count])
} else if (packages[i.count] %in% (.packages()) == FALSE) {
require(packages[i.count])
}
i.count = i.count + 1
}
鉴于上面的代码,我在运行第require(packages[i.count])
行
错误:
c("Loading required package: [", "Loading required package: packages", "Loading required package: i.count")
Failed with error: ‘'package' must be of length 1’
In addition: Warning message:
In if (!loaded) { :
the condition has length > 1 and only the first element will be used
感谢任何帮助。
答案 0 :(得分:2)
尝试:
require(packages[i.count],character.only=TRUE)