我正在尝试使用GitHub plugin-draw.R上的一个R脚本,我应该如何使用这个插件?
oyt4ldly1#
你可以简单地使用devtools包中的source_url,使用你在文件的Github页面上点击raw得到的url:
devtools
raw
library(devtools) source_url("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R")
source()
从R的最新版本开始,似乎可以简单地使用source()和相同的“原始”url:
source("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R") ls() #> [1] "bingSearchXScraper"
ubof19bj2#
基于@Matifou的回复,但使用“new”方法在URL末尾追加?raw=TRUE:
?raw=TRUE
devtools::source_url("https://github.com/tonybreyal/Blog-Reference-Functions/blob/master/R/bingSearchXScraper/bingSearchXScraper.R?raw=TRUE")
h5qlskok3#
您可以使用R-Bloggers上提供的解决方案:
source_github <- function(u) { # load package require(RCurl) # read script lines from website script <- getURL(u, ssl.verifypeer = FALSE) # parase lines and evaluate in the global environment eval(parse(text = script)) } source_github("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R")
对于在全局环境中计算的函数 (我猜您会更喜欢这个解决方案),您可以用途:
source_https <- function(u, unlink.tmp.certs = FALSE) { # load package require(RCurl) # read script lines from website using a security certificate if(!file.exists("cacert.pem")) download.file(url="http://curl.haxx.se/ca/cacert.pem", destfile = "cacert.pem") script <- getURL(u, followlocation = TRUE, cainfo = "cacert.pem") if(unlink.tmp.certs) unlink("cacert.pem") # parase lines and evealuate in the global environement eval(parse(text = script), envir= .GlobalEnv) } source_https("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/bingSearchXScraper/bingSearchXScraper.R") source_https("https://raw.github.com/tonybreyal/Blog-Reference-Functions/master/R/htmlToText/htmlToText.R", unlink.tmp.certs = TRUE)
z8dt9xmd4#
如果是GitHub上的一个链接,你可以点击Blame旁边的Raw,你实际上可以使用普通的base::source,进入你选择的R脚本,找到Raw按钮。
Blame
Raw
base::source
现在链接将包含raw.githubusercontent.com,页面只显示R脚本本身。
raw.githubusercontent.com
source( paste0( "https://raw.githubusercontent.com/betanalpha/knitr_case_studies/master/", "stan_intro/stan_utility.R" ) )
(使用paste0只是为了使URL适合更窄的屏幕。)
paste0
4条答案
按热度按时间oyt4ldly1#
你可以简单地使用
devtools
包中的source_url,使用你在文件的Github页面上点击raw
得到的url:编辑:仅使用
source()
从R的最新版本开始,似乎可以简单地使用
source()
和相同的“原始”url:ubof19bj2#
基于@Matifou的回复,但使用“new”方法在URL末尾追加
?raw=TRUE
:h5qlskok3#
您可以使用R-Bloggers上提供的解决方案:
对于在全局环境中计算的函数 (我猜您会更喜欢这个解决方案),您可以用途:
z8dt9xmd4#
如果是GitHub上的一个链接,你可以点击
Blame
旁边的Raw
,你实际上可以使用普通的base::source
,进入你选择的R脚本,找到Raw
按钮。现在链接将包含
raw.githubusercontent.com
,页面只显示R脚本本身。(使用
paste0
只是为了使URL适合更窄的屏幕。)