我正在尝试将此调用向量化为source_url
,以便从GitHub加载一些函数:
library(devtools)
# Find ggnet functions.
fun = c("ggnet.R", "functions.R")
fun = paste0("https://raw.github.com/briatte/ggnet/master/", fun)
# Load ggnet functions.
source_url(fun[1], prompt = FALSE)
source_url(fun[2], prompt = FALSE)
最后两行应该能够在lapply
调用中工作,但出于某种原因,这不适用于knitr:在我处理Rmd
文档时使此代码有效HTML,我必须两次致电source_url
。
source_url
中的devtools
和downloader
中的closure
出现同样的错误:我的代码中有一些{{1}}类型的对象不是子集。< / p>
我怀疑这与SHA有关;任何解释都是最受欢迎的。
答案 0 :(得分:1)
它与knitr
或devtools
或矢量化无关。这只是your(?) code中的错误,使用traceback()
很容易找到它。
> library(devtools)
> # Find ggnet functions.
> fun = c("ggnet.R", "functions.R")
> fun = paste0("https://raw.github.com/briatte/ggnet/master/", fun)
> # Load ggnet functions.
> source_url(fun[1], prompt = FALSE)
SHA-1 hash of file is 2c731cbdf4a670170fb5298f7870c93677e95c7b
> source_url(fun[2], prompt = FALSE)
SHA-1 hash of file is d7d466413f9ddddc1d71982dada34e291454efcb
Error in df$Source : object of type 'closure' is not subsettable
> traceback()
7: which(df$Source == x) at file34af6f0b0be5#14
6: who.is.followed.by(df, "JacquesBompard") at file34af6f0b0be5#19
5: eval(expr, envir, enclos)
4: eval(ei, envir)
3: withVisible(eval(ei, envir))
2: source(temp_file, ...)
1: source_url(fun[2], prompt = FALSE)
您在代码中使用了df
,df
是stats
包中的函数(F分布的密度)。我知道你可能意味着一个数据框,但你没有在代码中声明它。