【发布时间】:2016-08-08 04:03:53
【问题描述】:
如果它已经安装,我正在尝试在启动时加载一个包。如果不是,那么我想先安装它然后加载它。所以,我创建了以下函数:
RLoadPackage <- function(packname)
{
if((packname %in% rownames(installed.packages()))==FALSE)
{
install.packages(packname,dependencies = TRUE)
}
library(packname,character.only = TRUE)
}
一旦打开 RStudio,它就可以正常工作,但在启动时就不能正常工作了。我将此功能添加到我的本地 .RProfile 文件中:
RLoadPackage("ggplot2")
RLoadPackage <- function(packname)
{
if((packname %in% rownames(installed.packages()))==FALSE)
{
install.packages(packname,dependencies = TRUE)
}
library(packname,character.only = TRUE)
}
但是,我收到错误消息:
Error: could not find function "RLoadPackage"
一种选择是手动安装包,然后添加一堆library("xyz")
但是,上述选项非常笨拙。所以,我创建了一个函数。
我有 2 个问题:
1) 有人可以帮我吗?
2) 有没有更有效的方法?
我的帖子的灵感来自以下两个链接: 1)Check for installed packages before running install.packages() 2)http://www.statmethods.net/interface/customizing.html
如果有任何帮助,我将不胜感激。
谢谢
【问题讨论】:
-
查看
help(".First")。 -
@Richard Scriven 和 Shayaa——我相信我读懂了你的想法!我只是认为 R 是顺序处理函数。所以,我先定义了这个函数,然后它就起作用了。但是,我正在寻找更高效的代码——如果您知道任何方法可以加载 10-15 个包并执行我想做的事情。感谢您的帮助。
-
您的“错误:找不到函数...”不是因为您在定义
RLoadPackage之前调用了RLoadPackage("ggplot2")吗? -
是的!没错