簡體   English   中英

R 和 XML:“下標越界”錯誤

[英]R and XML: 'Subscript out of bound' error

我在這里做錯了什么? 我的 R 代碼:

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

我認為您應該將d <- lapply(doc$Deposit,...更改為d <- lapply(doc$Deposit$Record,...

請試試

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)

編輯:

對不起,我沒有進一步檢查就草草建議。 我會建議這個:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM