【问题标题】:rbind.pages with missing pages "Error: all(vapply(pages, is.data.frame, logical(1)))" is not TRUErbind.pages 缺少页面“错误:所有(vapply(页面,is.data.frame,逻辑(1)))”不是 TRUE
【发布时间】:2015-05-30 02:42:26
【问题描述】:

我正在尝试使用来自 web 的 jsonlite 的 rbind.pages,其中一些数据文件丢失(例如 aa 的值丢失)。

temp<- c("6702","1","67")
library(jsonlite)
baseurl <- "https://api.angel.co/1/startups/"
pages <- list()
for(i in 1:3){
  mydata<- fromJSON(paste0(baseurl,temp[[i]]),flatten= TRUE)
 pages[[i+1]] <- mydata
}
out<- rbind.pages(pages[sapply(pages, length)>2])

我收到以下错误。关于如何解决这个问题的任何建议?谢谢。

Error: Error in open.connection(con, "rb") : HTTP error 404.
Error: all(vapply(pages, is.data.frame, logical(1))) is not TRUE

【问题讨论】:

  • 就像你的last question,我们需要一个reproducible example
  • 我可以指定外部 urls/api 链接吗?
  • 你什么时候做pages[[i+1]] &lt;- mydata而不是pages[[i]] &lt;- mydata?列表中不应该有 NULL 项目,rbind.pages() 才能工作
  • 我不知道什么时候得到空值。那么有没有办法可以处理它们,以便我可以使用 rbind 附加。我试过你提到的代码它不起作用。

标签: json r rjsonio jsonlite


【解决方案1】:

rbind.pages 似乎不喜欢“空”列表。您应该过滤您的列表以排除它们

out<- rbind.pages(pages[sapply(pages, length)>0])

【讨论】:

  • 它有效,但是当我运行其他人时,我收到一个 http 错误,它正在停止循环操作。有什么建议么?我正在编辑数据点以实现可重复性。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-17
  • 2014-06-08
  • 1970-01-01
  • 1970-01-01
  • 2013-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多