[英]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]))
要在字符串中使用循環變量,您將需要使用eval
, parse
和paste
這種相當不愉快的組合。 這是一個簡單的例子
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
。 見lapply
, sapply
。 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.