使用 R 在 URL 中粘贴列表

Pasting list inside a URL using R

我正在研究一些 API,有一个简单的问题。如何在下面的 URL 中的 = 之后粘贴逗号分隔列表,而不是手动编写所有内容?

library(httr)

X <- GET("url/?query=")

换句话说,给定我的列表 L 我想结束:

X <- GET("url/?query=a,b,c,d")

谢谢!

更新 L 看起来像:

> dput(L)
list("a","b","c","d")

你可以使用 2 paste():

url = paste("url/?query=",paste(L,collapse=","),sep="")
X <- GET(url)

这是 build/pass 查询字符串的更安全、更明智的方法:

library(httr)

res <- GET(url = "http://httpbin.org/get",
           query = list(
             query = paste0(list("a","b","c","d"), collapse=",")
           ))

str(content(res, as="parsed"))
## List of 4
##  $ args   :List of 1
##   ..$ query: chr "a,b,c,d"
##  $ headers:List of 5
##   ..$ Accept         : chr "application/json, text/xml, application/xml, */*"
##   ..$ Accept-Encoding: chr "gzip, deflate"
##   ..$ Connection     : chr "close"
##   ..$ Host           : chr "httpbin.org"
##   ..$ User-Agent     : chr "libcurl/7.51.0 r-curl/2.3 httr/1.2.1"
##  $ origin : chr "50.252.233.22"
##  $ url    : chr "http://httpbin.org/get?query=a%2Cb%2Cc%2Cd"