-3

我正在尝试创建一个电影抓取脚本,但是在从下面运行最后一行代码之后,我遇到了一个

Error in rbind(deparse.level, ...) : 
  numbers of columns of arguments do not match 

我不确定为什么。

  rottenrate <- function(movie){
              require(RJSONIO)
              link <- paste("http://www.omdbapi.com/?t=", movie, "&y=&plot=short&r=json&tomatoes=true", sep = "")
              jsonData <- fromJSON(link)
              return(jsonData)
            }
            vrottenrate <- Vectorize(rottenrate, "movie", SIMPLIFY = F)

val <- "http://www.fandango.com/valkilmer/filmography/p38142"
    val_movies <- readHTMLTable(val)
    val_movies <- as.data.frame(val_movies)
    val_movie_titles <- subset(val_movies, select = c(NULL.Title))
    val_movie_titles <- as.character(val_movie_titles$NULL.Title) 

val_completed <- do.call(rbind, lapply(vrottenrate(val_movie_titles), function(x) as.data.frame(t(x), stringsAsFactors = FALSE)))
4

1 回答 1

3

一个简单的解决方案是使用bind_rowsfrom dplyrpackage 或rbindlistfrom data.tablepackage:

 kk<-lapply(vrottenrate(val_movie_titles), function(x) as.data.frame(t(x), stringsAsFactors = FALSE))

 library(dplyr)
 bind_rows(kk)

library(data.table)
rbindlist(kk,fill=TRUE)
于 2015-07-07T00:26:28.523 回答