【问题标题】:How to convert a data.frame to a xts in R?如何将data.frame转换为R中的xts?
【发布时间】:2020-02-03 19:28:09
【问题描述】:

伙计们!

我需要在我的数据帧中使用函数 Return.calculate(),但是要使用这个函数,首先,我需要将我的数据帧转换为 xts

这是我的数据框:

head(df)

     datas preco ticker empresa
1 20180102 32.09  BBAS3  BRASIL
2 20180103 33.10  BBAS3  BRASIL
3 20180104 33.52  BBAS3  BRASIL
4 20180105 33.70  BBAS3  BRASIL
5 20180108 33.64  BBAS3  BRASIL
6 20180109 33.59  BBAS3  BRASIL

当我尝试使用 as.xts() 或 xts() 将我的数据帧转换为 xts 时,我收到以下消息:

使用 as.xts():

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

使用 xts()

Error in xts(z) : order.by requires an appropriate time-based object

如何在 xts 对象中转换我的数据框?

非常感谢

【问题讨论】:

    标签: r dataframe return transform xts


    【解决方案1】:

    将第一列转换为日期对象并将其添加为rownames,然后使用as.xts

    rownames(df) = as.Date(as.character(df$datas), "%Y%m%d")
    xts::as.xts(df[-1])
    

    或者使用xts

    xts::xts(df[-1], order.by = as.Date(as.character(df$datas), "%Y%m%d"))
    

    【讨论】:

      猜你喜欢
      • 2018-06-20
      • 2021-11-12
      • 2014-05-17
      • 2020-03-07
      • 1970-01-01
      • 2011-03-31
      • 2013-12-10
      • 2017-10-30
      • 1970-01-01
      相关资源
      最近更新 更多