R-使用FOR循环或WHILE循环将10页合并到一个数据帧中

时间:2020-05-02 16:41:31

标签: r dataframe for-loop while-loop

我需要将234条评论数据合并为一个。

-

但是我必须使用循环自动执行此操作

有人有什么主意吗?

2 个答案:

答案 0 :(得分:2)

更好的是,您可以使用lapply

do.call("rbind", lapply(1:10, function(x) data.frame(getReviews(368677368, "us", x))))

或者,使用for循环:

db_list <- list()
for(i in 1:10)
{
 db_list[[i]] <- data.frame(getReviews(368677368, "us", i))
}
final_result <- do.call("rbind", db_list)

答案 1 :(得分:2)

我不知道您的函数getReviews做了什么,所以将其存入:

getReviews <- function(pp_id, country, page_num){
  data.frame(pp_id, country, page_num)
}

这里是for循环。

output <- NULL  # Best practice is to pre-declare
cases <- 1:10
for(i in seq_along(cases)){        # seq_along is better 
  output[[i]] <- getReviews(368677368, "us", i)
}
bind_rows(output)

参考: R for Data Science ,H Wickham,第一版,p 314