I don't fully remember, but I doubt httr::content() ever returned a character vector without using the `as="text"` parameter. Try switching that line to:
html <- content(r, as="text") On Tue, May 10, 2016 at 3:27 AM, Luca Meyer <lucam1...@gmail.com> wrote: > Hi Jim, > > Thank you for your suggestion. I have actually tried to upload XML and xml2 > but nothing changed...any other suggestion? > > Kind regards, > > Luca > >> rm(list=ls()) >> library(httr) >> library(XML) >> library(xml2) >> >> #carico i dati da Google spreadsheets >> url <- " > https://docs.google.com/spreadsheets/d/102-jJ7x1YfIe4Kkvb9olQ4chQ_TS90jxoU0vAbFZewc/pubhtml?gid=0&single=true > " >> readSpreadsheet <- function(url, sheet = 1){ > + r <- GET(url) > + html <- content(r) > + sheets <- readHTMLTable(html, header=FALSE, stringsAsFactors=FALSE) > + df <- sheets[[sheet]] > + dfClean <- function(df){ > + nms <- t(df[1,]) > + names(df) <- nms > + df <- df[-1,-1] > + row.names(df) <- seq(1,nrow(df)) > + df > + } > + dfClean(df) > + } >> dati <- readSpreadsheet(url) > Error in (function (classes, fdef, mtable) : > unable to find an inherited method for function ‘readHTMLTable’ for > signature ‘"xml_document"’ >> rm(readSpreadsheet,url) > > 2016-05-10 8:52 GMT+02:00 Jim Lemon <drjimle...@gmail.com>: > >> Hi Luca, >> The function readHTMLtable is in the XML package, not httr. Perhaps >> that is the problem as I don't see a dependency in httr for XML >> (although xml2 is suggested). >> >> Jim >> >> >> On Tue, May 10, 2016 at 2:58 PM, Luca Meyer <lucam1...@gmail.com> wrote: >> > Hello, >> > >> > I am trying to run a code I have been using for a few years now after >> > downloading the new R version 3.3.0 and I get the following error: >> > >> >> rm(list=ls()) >> >> library(httr) >> >> >> >> #carico i dati da Google spreadsheets >> >> url <- " >> > >> https://docs.google.com/spreadsheets/d/102-jJ7x1YfIe4Kkvb9olQ4chQ_TS90jxoU0vAbFZewc/pubhtml?gid=0&single=true >> > " >> >> readSpreadsheet <- function(url, sheet = 1){ >> > + r <- GET(url) >> > + html <- content(r) >> > + sheets <- readHTMLTable(html, header=FALSE, stringsAsFactors=FALSE) >> > + df <- sheets[[sheet]] >> > + dfClean <- function(df){ >> > + nms <- t(df[1,]) >> > + names(df) <- nms >> > + df <- df[-1,-1] >> > + row.names(df) <- seq(1,nrow(df)) >> > + df >> > + } >> > + dfClean(df) >> > + } >> >> dati <- readSpreadsheet(url) >> > Error in (function (classes, fdef, mtable) : >> > unable to find an inherited method for function ‘readHTMLTable’ for >> > signature ‘"xml_document"’ >> >> rm(readSpreadsheet,url) >> > >> > Can anyone suggest a solution to it? >> > >> > Thanks, >> > >> > Luca >> > >> > [[alternative HTML version deleted]] >> > >> > ______________________________________________ >> > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see >> > https://stat.ethz.ch/mailman/listinfo/r-help >> > PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> > and provide commented, minimal, self-contained, reproducible code. >> > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.