R - 遍历变量名称

时间:2015-11-19 16:39:45

标签: json r loops variables for-loop

我正在尝试通过变量迭代( for )。这是代码:

json_YR_FKA <- getURL('https://www.kimonolabs.com/api/b7i1ej7i?apikey=-')
json_9A_BTE <- getURL('https://www.kimonolabs.com/api/a83t52cg?apikey=-')

我将有两个变量:json_YR_FKA / json_9A_BTE

matriculas <- ls()
matriculas <- str(matriculas)
matriculas
  

matriculas   [1]“json_9A_BTE”“json_YR_FKA”

现在,我需要对这两个变量做一些事情,所以我有一个 for 迭代:

for (i in 1:total){
   avion <- fromJSON(matriculas[i])  
   # boring code
}

我的想法是这样做:

第一次迭代:fromJSON(json_9A_BTE) 第二次迭代:fromJSON(json_YR_FKA)

但是在第一次迭代开始时我得到了这个:

  

fromJSON(matriculas [I])   fromJSON(matriculas [1])出错:意外字符'j'

我不知道为什么。

任何?

提前致谢。

路易斯

1 个答案:

答案 0 :(得分:0)

你采取的方法不是很像R,所以我猜你是来自Python或其他语言?

首先,我不确定您使用的是哪些套餐。 getURL()来自哪里?您使用的是哪个JSON包?我建议使用jsonlite,因为它只能从URL中提取数据。

library(jsonlite)

myUrls <- c(json_YR_FKA='https://www.kimonolabs.com/api/b7i1ej7i?apikey=-',
            json_9A_BTE='https://www.kimonolabs.com/api/a83t52cg?apikey=-')

matriculas <- lapply(myUrls, fromJSON) #Provides a list of your data.

f_doSomething <- function(dat) {
    #boring code that puts data into 'out' variable
    return(out)
    }

avion <- lapply(matriculas, f_doSomething)