2015-05-30 97 views
1

我正在嘗試使用jsonlite從web中的rbind.pages獲取一些數據文件丟失(例如缺少aa的值)。rbind.pages with missing pages「Error:all(vapply(pages,is.data.frame,logical(1)))」is not TRUE

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 
+0

喜歡與你[最後一個問題(http://stackoverflow.com/questions/30539282/combining-many-data-frames-with-rbind-and-pages ),我們需要一個[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)。 – MrFlick

+0

我可以指定外部URL/API鏈接嗎? – user3570187

+0

你什麼時候做'頁面[[i + 1]] < - mydata'而不是'pages [[i]] < - mydata'?你沒有'rbind.pages()'列表中的NULL項' – MrFlick

回答

1

rbind.pages似乎不喜歡「空」列表。你應該過濾列表,將它們排除在外

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

它的工作,但是當我運行其他人我得到一個http錯誤,它正在停止循環操作。有什麼建議麼?我正在編輯重現性的數據點。 – user3570187