Sto tentando di utilizzare la seguente sintassi per ottenere le informazioni sull'occupazione dalla pagina wikipedia di George Clooney. Alla fine mi piacerebbe che ci fosse un ciclo per ottenere dati sulle occupazioni di varie personalità.L'argomento è di lunghezza zero
Tuttavia, ottengo il seguente problema in esecuzione il codice qui sotto:
Error in if (symbol != "role") symbol = NULL : argument is of length zero
io non sono sicuro perché questo continua a venire su.
library(XML)
library(plyr)
url = 'http://en.wikipedia.org/wiki/George_Clooney'
# don't forget to parse the HTML, doh!
doc = htmlParse(url)
# get every link in a table cell:
links = getNodeSet(doc, '//table/tr/td')
# make a data.frame for each node with non-blank text, link, and 'title' attribute:
df = ldply(links, function(x) {
text = xmlValue(x)
if (text=='') text=NULL
symbol = xmlGetAttr(x, 'class')
if (symbol!='role') symbol=NULL
if(!is.null(text) & !is.null(symbol))
data.frame(symbol, text) })
Consigli per il debug: http://stackoverflow.com/a/5156351/636656. In particolare, prova 'opzioni (error = recover)' qui. –
il problema è molto probabile che 'symbol' sia' NULL'. Vedi cosa succede con 'if (NULL! =" Ruolo ") print ('test')'. Qualcosa del genere dovrebbe funzionare, anche se non ho eseguito il tuo codice: 'if (! Is.null (symbol) && symbol! = 'Role') symbol <- NULL' – GSee
Usa' col.names = my_column_names' in kable () con 'my_column_names' come vettore di caratteri dei nomi ricercati, per me ha funzionato! –