R function not returning values

后端 未结 3 1338
后悔当初
后悔当初 2020-11-28 16:34

I am writing my first R function.

IMDBmovierating <- function(movie){
  link <- paste(\"http://www.omdbapi.com/?t=\", movie, \"&y=&plot=short&a         


        
3条回答
  •  野性不改
    2020-11-28 17:20

    To return df, simply write return(df):

    IMDBmovierating <- function(movie){
      link <- paste("http://www.omdbapi.com/?t=", movie, "&y=&plot=short&r=json", sep = "")
      jsonData <- fromJSON(link)
      df <- data.frame(jsonData)
      return(df)
    }
    

    or, even simpler in this case, omit the last assignment:

    IMDBmovierating <- function(movie){
      link <- paste("http://www.omdbapi.com/?t=", movie, "&y=&plot=short&r=json", sep = "")
      jsonData <- fromJSON(link)
      data.frame(jsonData)
    }
    

    If the last expression evaluates to a result object, as data.frame(..) does, then this gets the return object of the enclosing expression and the explicit return statement may be omitted.

    edit: and remove the back-ticks before sep and after you closing parenthesis

    edit2: Of course MrFlick's comment is correct: the only thing really wrong with your code are the back-ticks that probably are simply a typo here on the site. Even the assignment produces the assigned value as a result object, but it is invisible. Hence, you can assign it, but it is not automatically printed on the console.

提交回复
热议问题