我试图使用GET()函数来运行我的data.table其中包含邮政编码(加拿大)列,但我一直遇到以下错误
Error in parse_url(url) : length(url) == 1 is not TRUE
我的代码如下所示
returnMLA <- function(postalCode){
urlMLA <- paste("https://represent.opennorth.ca/postcodes/",postalCode, sep="")
res<-GET(urlMLA)
data<-fromJSON(rawToChar(res$content))
return(data)
}
people <- data.table(a=c(1,2),b=c("V8S1N5","V8V3E9"))
people[,MLA:=returnMLA(b)]
我知道这是因为我正在向GET()函数发送多个url。有没有办法使这个工作与data.table?
我可以用
解决这个错误people[,MLA:=returnMLA(b[1])]
但是它只会返回相同的响应
谢谢!
您可以使用lapply
-
library(data.table)
people[, MLA := lapply(b, returnMLA)]
people
# a b MLA
#1: 1 V8S1N5 <list[7]>
#2: 2 V8V3E9 <list[7]>