我正在尝试为 R 编写一段代码,以使用以下命令从 api 获取数据:
data <- read.csv("https://...../api/dataservice?sql = select * from db where name IN (?)")
括号是我需要输入 218 个不同名称标签的地方。如何以编程方式执行此操作?可以写下几个,但不可能超过 200 个。有办法吗?我可以使用包含名称的字符向量吗?
我正在尝试为 R 编写一段代码,以使用以下命令从 api 获取数据:
data <- read.csv("https://...../api/dataservice?sql = select * from db where name IN (?)")
括号是我需要输入 218 个不同名称标签的地方。如何以编程方式执行此操作?可以写下几个,但不可能超过 200 个。有办法吗?我可以使用包含名称的字符向量吗?
如果您已经在 R 中有名称,则可以遍历名称向量并使用该paste
函数。这是它的帮助页面。如果您更喜欢这种方法,那sprintf
将是另一种选择。
这方面的一个例子是
names <- c("a", "b", "c")
querystring_a <- "https://...../api/dataservice?sql = select * from db where name IN "
querystring_b <- '\\'
querystring_c <- "\'"
for(n in names){
cat(paste(querystring_a, querystring_b, querystring_c, n, querystring_c, sep=""), sep="\n")
}
返回:
https://...../api/dataservice?sql = select * from db where name IN \'a'
https://...../api/dataservice?sql = select * from db where name IN \'b'
https://...../api/dataservice?sql = select * from db where name IN \'c'