首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >R和XML:‘下标越界’错误

R和XML:‘下标越界’错误
EN

Stack Overflow用户
提问于 2020-12-23 21:01:54
回答 1查看 50关注 0票数 0

我在这里做错了什么?我的R代码:

代码语言:javascript
运行
复制
u <- "http://www.cbr.ru/scripts/xml_depo.asp?date_req1=01/07/2001&date_req2=22/12/2020" 
f <- xml2::read_xml(u)
doc <- xml2::as_list(f)
d <- lapply(doc$Deposit, 
        function(x) data.frame(Overnight = x$Overnight[[1]],
                               Tom_next = x$`Tom-next`[[1]],
                               Spot_next = x$`Spot-next`[[1]],
                               Spot_week = x$`Spot-week`[[1]],
                               P2weeks = x$P2weeks[[1]],
                               Spot_2week = x$`Spot-2week`[[1]],
                               P1month = x$P1month[[1]],
                               P3month = x$P3month[[1]],
                               Date = attr(x, "Date")))
d <- dplyr::bind_rows(d)

它在d <- lapply(doc$Deposit,...的行处中断,说Error in x$Overnight[[1]] : subscript out of bounds

EN

回答 1

Stack Overflow用户

发布于 2020-12-23 22:26:29

我认为你应该把d <- lapply(doc$Deposit,...改成d <- lapply(doc$Deposit$Record,...

请尝试

代码语言:javascript
运行
复制
d <- lapply(doc$Deposit$Record, 
        function(x) data.frame(Overnight = x$Overnight[[1]],
                               Tom_next = x$`Tom-next`[[1]],
                               Spot_next = x$`Spot-next`[[1]],
                               Spot_week = x$`Spot-week`[[1]],
                               P2weeks = x$P2weeks[[1]],
                               Spot_2week = x$`Spot-2week`[[1]],
                               P1month = x$P1month[[1]],
                               P3month = x$P3month[[1]],
                               Date = attr(x, "Date")))
d <- dplyr::bind_rows(d)

编辑:

很抱歉,在没有进一步检查的情况下,我仓促地提出了这一点。我建议这样做:

代码语言:javascript
运行
复制
d <- lapply(doc$Deposit$Record, cbind)
d <- as.data.frame(t(unlist(d)))
d
# Overnight Tom-next Spot-next P1week Spot-week P2weeks Spot-2weeks P1month P3month
# 1         2      2,3       2,5      7       7,5     8,5           9      10      12
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65424748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档