package <- c("car","ggplot2","pastecs","psych")
for (i in package){
if (!(i %in% rownames(installed.packages()))){
install.packages(i)
} else{
print(paste(i,"has been installed"))
library(i)
}
}
我写了一个循环来检查包是否已安装,如果可用,则应该加载它的库。
However I got an error: there is no package called 'i'
为什么我无法将变量i
的值传递给library
函数?
library(i, character.only = T)
。 - csgillespielibrary(i)
会查找名称为“i”的软件包。我认为这是为了方便起见而做的,以节省输入软件包名称时的引号。如果要覆盖此行为,请参考@csgillespie的提示,在?library
中也有一个示例。 - tonytonov