我是R编程的初学者。
我想从Squawka抓取足球数据并将其放在数据框中,以便进行分析(足球分析的新生爱好),更准确地说是从这些页面中http://eredivisie.squawka.com/willem-ii-vs-psv/10-08-2014/dutch-eredivisie/matches。
在Stack Overflow上我发现了一个关于如何执行此操作的帖子:how to scrape this squawka page?。
不幸的是,当我实现上述线程中给出的用于将XML属性/数据处理成数据帧的代码(见下文)时,我收到以下错误消息:
"错误(函数(...,deparse.level = 1,make.row.names = TRUE, stringsAsFactors = default.stringsAsFactors()):的数字 参数列与“
不匹配
data <- lapply(example, function(x){
if(length(x['event']) > 0){
res <- lapply(x['event'], function(y){
matchAttrs <- as.list(xmlAttrs(y))
matchAttrs$start <- xmlValue(y['start']$start)
matchAttrs$end <- xmlValue(y['end']$end)
matchAttrs
})
return(do.call(rbind.data.frame, res))
}
}
)
结果应该类似于:
player_id mins secs minsec team type start end
event 531 4 39 279 44 Failed 73.1,87.1 97.9,49.1
event5 311 6 33 393 31 Failed 92.3,13.1 93.0,31.0
event1 376 8 57 537 31 Failed 97.7,6.1 96.7,16.4
event6 311 13 50 830 31 Failed 99.5,0.5 94.9,42.6
event11 311 14 11 851 31 Failed 99.5,0.5 93.1,51.0
event7 311 17 41 1061 31 Failed 99.5,99.5 92.6,50.1
我已经尝试过在Stack Overflow上发现的其他一些处理类似情况的解决方案,但直到现在我还没有设法找到合适的解决方案。