【发布时间】:2014-08-09 06:33:36
【问题描述】:
我一直在尝试编写一个函数来替换 R 的 library 和 install.packages 函数,如果已安装则加载函数,如果未安装则安装并加载。它适用于第一种情况,但是当我尝试使用它安装一个函数时,即使在安装后它也会给出“没有名为...的包”错误。软件包安装正确,但我未能在同一功能的单次运行中安装和加载。我添加了 sleep 命令,希望它能修复它,但它没有。有人知道为什么吗?
insist = function(name){
#enables entering package name without quotes
name = substitute(name)
name = as.character(name)
if (!require(name, character.only = T)) {
install.packages(name)
Sys.sleep(2)
library(name, character.only = T)
}
}
【问题讨论】:
-
在安装
p_load后查看github.com/trinker/pacman 完全符合您的要求。 -
他似乎使用分层结构来安装包并加载它们,但我在他的代码中找不到任何根本不同的东西可以让他工作并解释为什么我的失败。当我有更多时间时会彻底检查
标签: r function install.packages