gpt4 book ai didi

r - 参数长度为零

转载 作者:行者123 更新时间:2023-12-03 13:54:08 25 4
gpt4 key购买 nike

我正在尝试使用以下语法从乔治克鲁尼的Wikipedia页面获取职业信息。最终,我希望有一个循环来获取有关各种性格职业的数据。

但是,运行以下代码时出现以下问题:


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) } )

最佳答案

如@gsee所述,您需要先检查symbol不是NULL,然后再检查其值。这是对您的代码有效的次要更新(至少对于George而言)。

df = ldply(
links,
function(x)
{
text = xmlValue(x)
if (!nzchar(text)) text = NULL
symbol = xmlGetAttr(x, 'class')
if (!is.null(symbol) && symbol != 'role') symbol = NULL
if(!is.null(text) & !is.null(symbol))
data.frame(symbol, text)
}
)

关于r - 参数长度为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11295618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com