2015-07-07 2 views
-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))) 
+6

(а) Там в [R пакет omdbapi] (https://github.com/hrbrmstr/ omdbapi) и (b) вы нарушаете [Условия использования] Fandango (http://www.fandango.com/termsofuse), и любой, кто помогает вам с примерами кода, которые касаются Fandango, также нарушается и подвергается штрафам и штрафам, суждения. – hrbrmstr

+1

@hrbrmstr Важно, чтобы вы это указали. Но я чувствую, что SO должен подумать о политике в отношении того, как обращаться с такими случаями. Я не юрист, но в последнее время мне интересно об этом: если человек может столкнуться с юридической проблемой для ответа на вопрос, поставленный на SO, можно задаться вопросом, в какой степени SO будет отвечать и в таком случае, поскольку он опубликовал вопрос на веб-сайте, и, таким образом, можно утверждать, что СО молчаливо согласился с представлением действительных ответов. Почему еще вопрос будет опубликован? – RHertel

+1

@hrbrmstr: вы предлагаете квалифицированное юридическое заключение для любого читателя во всем мире? Насколько я помню, я не подписал этот TOS, поэтому я не уверен, что это относится ко мне. (Я в Великобритании, если это влияет на ваш совет). – halfer

ответ

3

легко решение заключается в использовании bind_rows из dplyr пакета или rbindlist из data.table пакета:

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) 
+3

Любая помощь OP для части Fandango вопроса OP ставит вас в нарушение Fandango ToS за комментарий к OP q. – hrbrmstr

+0

@hrbrmstr Возможно, нет. Во всяком случае, ссылаясь на свой собственный предыдущий комментарий, вряд ли можно рассчитывать на поддержку вашего мнения. – Ista

Смежные вопросы