gpt4 book ai didi

将列表缩减为按时间排序的 xts 对象

转载 作者:行者123 更新时间:2023-12-04 10:15:27 29 4
gpt4 key购买 nike

我在列表中有一些数据,如下所示:

> y
$ABMD.Rank
ABMD.Rank

$ATVI.Rank
ATVI.Rank

$ADBE.Rank
ADBE.Rank

$AMD.Rank
AMD.Rank
2020-04-01 17:00:00 22

$AKAM.Rank
AKAM.Rank

$ALXN.Rank
ALXN.Rank

$ALGN.Rank
ALGN.Rank

$LNT.Rank
LNT.Rank

$AMZN.Rank
AMZN.Rank

$AAL.Rank
AAL.Rank

$AMGN.Rank
AMGN.Rank

$ADI.Rank
ADI.Rank

$ANSS.Rank
ANSS.Rank

$AAPL.Rank
AAPL.Rank
2020-03-31 17:00:00 22

我想将列表缩减为 xts具有预期输出的对象或数据框:
2020-03-31 15:30:00 CHRW.Rank            
2020-03-31 17:00:00 AAPL.Rank
2020-04-01 17:00:00 AMD.Rank
2020-04-01 21:00:00 CDNS.Rank
2020-04-02 18:00:00 CTXS.Rank
2020-04-03 19:00:00 CTAS.Rank
2020-04-06 17:00:00 BKNG.Rank

哪个是按时间排序的。

数据:
myList <- list(ABMD.Rank = structure(numeric(0), class = c("xts", "zoo"
), .indexCLASS = c("POSIXct", "POSIXt"), tclass = c("POSIXct",
"POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ABMD.Rank")),
ATVI.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ATVI.Rank")),
ADBE.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ADBE.Rank")),
AMD.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585753200, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "AMD.Rank")),
AKAM.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AKAM.Rank")),
ALXN.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ALXN.Rank")),
ALGN.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ALGN.Rank")),
LNT.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "LNT.Rank")),
AMZN.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AMZN.Rank")),
AAL.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AAL.Rank")),
AMGN.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AMGN.Rank")),
ADI.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ADI.Rank")),
ANSS.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ANSS.Rank")),
AAPL.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585666800, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "AAPL.Rank")),
AMAT.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AMAT.Rank")),
ADSK.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ADSK.Rank")),
ADP.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "ADP.Rank")),
BIIB.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "BIIB.Rank")),
BKNG.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1586185200, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "BKNG.Rank")),
AVGO.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "AVGO.Rank")),
CHRW.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585661400, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "CHRW.Rank")),
CDNS.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585767600, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "CDNS.Rank")),
CDW.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CDW.Rank")),
CERN.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CERN.Rank")),
CHTR.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CHTR.Rank")),
CINF.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CINF.Rank")),
CTAS.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585933200, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "CTAS.Rank")),
CSCO.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CSCO.Rank")),
CTXS.Rank = structure(22, class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(1585843200, tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = c(1L, 1L), .Dimnames = list(NULL, "CTXS.Rank")),
CME.Rank = structure(numeric(0), class = c("xts", "zoo"), .indexCLASS = c("POSIXct",
"POSIXt"), tclass = c("POSIXct", "POSIXt"), .indexTZ = "", tzone = "", index = structure(numeric(0), tzone = "", tclass = c("POSIXct",
"POSIXt")), .Dim = 0:1, .Dimnames = list(NULL, "CME.Rank")))

最佳答案

我们可以使用 discard来自 purrr并使用 map 将其转换为单个 data.frame

library(purrr)
library(dplyr)
library(xts)
discard(myList, ~ length(.x) == 0| is.null(.x)) %>%
map(index) %>%
enframe %>%
unnest(c(value)) %>%
{xts(.[1], order.by = .$value)}
# name
#2020-03-31 09:30:00 "CHRW.Rank"
#2020-03-31 11:00:00 "AAPL.Rank"
#2020-04-01 11:00:00 "AMD.Rank"
#2020-04-01 15:00:00 "CDNS.Rank"
#2020-04-02 12:00:00 "CTXS.Rank"
#2020-04-03 13:00:00 "CTAS.Rank"
#2020-04-06 11:00:00 "BKNG.Rank"

关于将列表缩减为按时间排序的 xts 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61083536/

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