使用read.zoo函数时出现警告消息

时间:2014-09-30 14:20:03

标签: r zoo

我的数据框(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

上找到

2 个答案:

答案 0 :(得分:2)

问题是您在没有为read.zoo()提供值的情况下致电format=,但您的日期格式为"%d/%m/%Y",而不是"%Y-%m-%d"

答案 1 :(得分:1)

我不太确定为什么会出现此错误,但我首先将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)

enter image description here

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

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