我认为这是一个非常直截了当的问题,但试图弄清楚出了什么问题却是如此令人沮丧。在尝试从R:
中的XML文件中获取数据时,这是我的输入和输出> stats[1]
[1] "accurate_back_zone_pass"
> xmlValue(getNodeSet(r, "//MatchData/TeamData//MatchPlayer/Stat[@Type = 'accurate_back_zone_pass']")[[1]])
[1] "2"
> xmlValue(getNodeSet(r, "//MatchData/TeamData//MatchPlayer/Stat[@Type = stats[1]]")[[1]])
Error in getNodeSet(r, "//MatchData/TeamData//MatchPlayer/Stat[@Type = stats[1]]")[[1]] :
subscript out of bounds
第二个getNodeSet调用的输出是一个空列表,但唯一的区别是我从现有数组调用“accurate_back_zone_pass”而不是手动输入单词。是什么给了什么?
答案 0 :(得分:0)
R不解释引号内的变量名称。您应该阅读一些介绍性的R文本(例如see section 2.6 of R Intro)。所以在你的情况下,你需要做一些像(未经测试的):
xmlValue(
getNodeSet(
r,
paste(
"//MatchData/TeamData//MatchPlayer/Stat[@Type = ",
stats[1]], ")", sep=""
) )[[1]]
)