【问题标题】:Warning message when using read.zoo function使用 read.zoo 函数时的警告消息
【发布时间】:2014-09-30 14:20:03
【问题描述】:

我的数据框 (df) 包含超过 4000 天的每日股票指数价格。它看起来像:

Date       Prices
1986-1-1    20
 .          .
 .          .
 .          .
 .          .
2001-08-31  40

我正在尝试使用 read.zoo(df) 将数据框转换为 zoo 对象(read.zoo 是 zoo 包中的一个函数)。但是它给了我以下错误:

Warning message:
In zoo(rval3, ix) :
  some methods for “zoo” objects do not work if the index entries in ‘order.by’ are not unique

这会影响我应用于对象的后续代码。

出于重现性目的,原始数据 (FTSE100jensen.csv) 和代码 (JensenPaper.R) 可在 https://github.com/ahmedfsalhin/1stpaper 上获得

【问题讨论】:

  • 这意味着您的数据集中有重复的日期。在提取一些美联储数据之前发生在我身上。在转换为动物园之前,您需要做一些清洁工作。一个简单的选择是平均重复日期的值,然后转换为动物园,但这取决于你,只要在转换每个日期之前都是唯一的
  • @DMT 不幸的是,事实并非如此。我刚刚重新检查了它,它没有关于日期的重复。
  • @AhmedSalhin 检查sum(duplicated(index(zoo_object))) 否则你应该为零....

标签: r zoo


【解决方案1】:

问题是您调用read.zoo() 时没有提供format= 的值,但您的日期格式类似于"%d/%m/%Y",而不是"%Y-%m-%d"

【讨论】:

    【解决方案2】:

    我不太确定为什么会发生此错误,但我首先将 Date 转换为 Date 类,并且能够使用此调用 read.zoo 而不会出错:

    options(stringsAsFactors=FALSE)
    library(zoo)
    ##
    Data <- read.csv(
      "F:/gitData.csv",
      header=TRUE)
    #
    Data$Date <- as.Date(
      Data$Date,
      "%d/%m/%Y")
    ##
    zData <- read.zoo(Data)
    ##
    > head(zData)
                 Open   High    Low  Close Volume Adj.Close
    1986-01-01 1412.6 1412.6 1412.6 1412.6      0    1412.6
    1986-01-02 1412.6 1420.8 1412.0 1420.5      0    1420.5
    1986-01-03 1420.5 1430.0 1419.6 1429.8      0    1429.8
    1986-01-06 1429.8 1436.3 1424.1 1424.1      0    1424.1
    1986-01-07 1419.8 1419.8 1411.6 1415.2      0    1415.2
    1986-01-08 1415.2 1419.3 1400.3 1404.2      0    1404.2
    

    一切似乎都井井有条,例如我可以正确调用.zoo 方法等...

    > plot(zData)
    

    为了解决上面的 cmets,错误消息似乎确实表明存在重复的日期,但事实并非如此:

    > dim(Data)
    [1] 4088    7
    > length(unique(Data$Date))
    [1] 4088
    

    【讨论】:

    • 效果很好。还是找不到原始数据有什么问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2019-09-05
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2014-05-31
    相关资源
    最近更新 更多