如何将列表中的多个数据帧转换为 xts 对象

How to convert mutiple dataframes in a list to xts object

我有一个列表,其中包含 1000 个数据框,每个数据框的第一列为日期。我想将所有这些数据帧转换为 xts 对象。

我已经使用 lapply 将日期转换为日期对象。

我想在一个命令中将每个数据帧转换为 xts,而不是一个一个地转换,因为这会花费很多时间。

一个选项是遍历 list,删除第一列 'Date',应用 xts 并将 order.by 指定为第一列(假设'Date'列的class为Date

library(xts)
lst2 <- lapply(lst1, function(x) xts(x[-1], order.by = x[,1]))

数据

set.seed(24)
lst1 <- list(data.frame(Date = seq(as.Date('2015-01-01'), 
  length.out = 10, by = '1 day'), Col2 = rnorm(10)),
     data.frame(Date = seq(as.Date('2017-01-01'), 
   length.out = 10, by = '1 day'), Col2 = rnorm(10)))