如何在 R 中编写以下代码?

数据挖掘 r sql
2022-02-24 19:41:51

我正在尝试为 R 编写一段代码,以使用以下命令从 api 获取数据:

data <- read.csv("https://...../api/dataservice?sql = select * from db where name IN (?)")

括号是我需要输入 218 个不同名称标签的地方。如何以编程方式执行此操作?可以写下几个,但不可能超过 200 个。有办法吗?我可以使用包含名称的字符向量吗?

1个回答

如果您已经在 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'