从包装函数中获取来自github的R脚本,以供全局会话使用?

时间:2011-11-22 16:05:13

标签: r github

我可以在github上保存一个R脚本(使用'raw'文本链接),如下所示:

# load package
require(RCurl)

# check 1
ls()
#character(0)

# read script lines from website
u <- "https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R"
script <- getURL(u, ssl.verifypeer = FALSE)
eval(parse(text = script))

# clean-up
rm("script", "u")

# check 2
ls()
#[1] "bingSearchXScraper"

然而,我真正想做的是将其包装在一个函数中。这是我遇到问题的地方,我怀疑它与脚本的功能有关,这些功能只存在于它所调用的函数中的本地。例如,这是我的目标:

source_github <- function(u) {
  # load package
  require(RCurl)

  # read script lines from website and evaluate
  script <- getURL(u, ssl.verifypeer = FALSE)
  eval(parse(text = script))
}  

source_github("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R")

非常感谢你的时间。

1 个答案:

答案 0 :(得分:16)

使用:

 eval(parse(text = script),envir=.GlobalEnv)

将结果粘贴到默认搜索空间。当然,用相同的名称覆盖其他任何东西。

相关问题