簡體   English   中英

如何通過for循環附加數據

[英]How to append data through for loops

我試圖通過循環遞歸收集數據。 我寫了這個命令,它可以從2個頁面收集信息。 例如,

library(jsonlite)   
data1 <- fromJSON("https://www.example.com/?page=1", flatten = TRUE)
data2 <- fromJSON("https://www.example.com/?page=2", flatten = TRUE)
filings<- rbind.pages(list(data1, data2))

我想知道我是否可以遞歸執行300頁的操作。 讓我知道任何建議。

library(jsonlite)
for (i in 1:300) {
datai <- fromJSON("https://www.example.com/?page=i", flatten = TRUE)
}
filings<- rbind.pages(list(data[1:300]))

要在字符串中使用循環變量,您將需要使用evalparsepaste這種相當不愉快的組合。 這是一個簡單的例子

for (i in 1:10){
    eval(parse(text=paste(
    'print ("iteration number ',i,'")'
    ,sep='')))
}

您的示例可能類似於

for (i in 1:300) {
eval(parse(text=paste(
'data_',i, '<- fromJSON("https://www.example.com/?page=',i,'", flatten = TRUE)'
,sep='')))
}

循環將慢得多,然后apply lapplysapply paste0僅連接兩個字符串。

GetJSON = function(id_)
{
    return(fromJSON(paste0("https://www.example.com/?page=", id_), flatten = TRUE))
}
lapply(1:300, GetJSON)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM