使用 download.file 时 R markdown 无法打开 URL
R markdown cannot open URL when using download.file
*请注意,此问题仅发生在 Windows。
我有以下代码 运行 正确地脱离了普通脚本或控制台:
tdir <- tempdir()
stateurl <- "https://www2.census.gov/geo/tiger/GENZ2018/shp/cb_2018_us_state_500k.zip"
if(file.exists(paste(tdir,"/cb_2018_us_state_500k.shp",sep=""))==F){
download.file(stateurl, destfile = file.path(tdir, "States.zip"))
unzip(file.path(tdir,"States.zip"),exdir=tdir)}
但是当将相同的脚本放在一个块中并尝试在 Rmarkdown 中编织到 HTML 时,我得到警告“无法打开 URL 连接。”
我不知道为什么像下载文件这样简单的事情会在控制台中 运行 但在 RMarkdown 中不会。
我可以使用提供的代码在没有明显模式的情况下重现大约 50% 的错误(即重复 运行 来自同一会话的“编织到 HTML” 将随机 fail/work).
对我来说,如果我明确指定 method = "libcurl"
作为 download.file
的参数(而不是在 [=23= 上使用“wininet”的默认 method = "auto"
,问题就会消失])
tdir <- tempdir()
stateurl <- "https://www2.census.gov/geo/tiger/GENZ2018/shp/cb_2018_us_state_500k.zip"
if(file.exists(paste(tdir,"/cb_2018_us_state_500k.shp",sep=""))==F){
download.file(stateurl, destfile = file.path(tdir, "States.zip"), method = "libcurl")
unzip(file.path(tdir,"States.zip"),exdir=tdir)}
有了这个“Knit to HTML”一直在工作(至少对于我的 10+ 次测试)。
*请注意,此问题仅发生在 Windows。
我有以下代码 运行 正确地脱离了普通脚本或控制台:
tdir <- tempdir()
stateurl <- "https://www2.census.gov/geo/tiger/GENZ2018/shp/cb_2018_us_state_500k.zip"
if(file.exists(paste(tdir,"/cb_2018_us_state_500k.shp",sep=""))==F){
download.file(stateurl, destfile = file.path(tdir, "States.zip"))
unzip(file.path(tdir,"States.zip"),exdir=tdir)}
但是当将相同的脚本放在一个块中并尝试在 Rmarkdown 中编织到 HTML 时,我得到警告“无法打开 URL 连接。”
我不知道为什么像下载文件这样简单的事情会在控制台中 运行 但在 RMarkdown 中不会。
我可以使用提供的代码在没有明显模式的情况下重现大约 50% 的错误(即重复 运行 来自同一会话的“编织到 HTML” 将随机 fail/work).
对我来说,如果我明确指定 method = "libcurl"
作为 download.file
的参数(而不是在 [=23= 上使用“wininet”的默认 method = "auto"
,问题就会消失])
tdir <- tempdir()
stateurl <- "https://www2.census.gov/geo/tiger/GENZ2018/shp/cb_2018_us_state_500k.zip"
if(file.exists(paste(tdir,"/cb_2018_us_state_500k.shp",sep=""))==F){
download.file(stateurl, destfile = file.path(tdir, "States.zip"), method = "libcurl")
unzip(file.path(tdir,"States.zip"),exdir=tdir)}
有了这个“Knit to HTML”一直在工作(至少对于我的 10+ 次测试)。