我正嘗試使用以下語法從George Clooney的維基百科頁面獲取職業信息。最後,我希望有一個循環來獲取關於各種個人職業的數據。參數的長度爲零
不過,我得到運行下面的代碼如下問題:
Error in if (symbol != "role") symbol = NULL : argument is of length zero
我不知道爲什麼,這不斷上來。
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) })
調試建議:http://stackoverflow.com/a/5156351/636656。具體來說,請在這裏嘗試'options(error = recover)'。 –
問題很可能是'symbol'是'NULL'。看看'if(NULL!=「role」)print('test')'會發生什麼。這樣的東西應該可以工作,但我沒有運行你的代碼:'if(!is.null(symbol)&& symbol!='role')symbol < - NULL' – GSee
在kable中使用'col.names = my_column_names' )'my_column_names'是你想要的名字的字符向量,對我來說它工作! –