【问题标题】:R Time Series, date isn't being read properlyR时间序列,日期未正确读取
【发布时间】:2018-07-16 17:04:54
【问题描述】:

我想要将这些数据绘制为时间序列。

    Date    Units.Sold
1   Jan-16  588
2   Feb-16  448
3   Mar-16  490
4   Apr-16  512
5   May-16  528
6   Jun-16  432
7   Jul-16  470
8   Aug-16  446
9   Sep-16  465
10  Oct-16  388
11  Nov-16  429
12  Dec-16  414

但是,当我使用 ts(datasetName) 时,我得到了这个:

Time Series:
Start = 1 
End = 12 
Frequency = 1 
   Date Units.Sold
 1    5        588
 2    4        448
 3    8        490
 4    1        512
 5    9        528
 6    7        432
 7    6        470
 8    2        446
 9   12        465
10   11        388
11   10        429
12    3        414

如您所见,日期顺序错误。我希望一月对应 1,二月对应 2,依此类推。有人可以帮忙吗?

【问题讨论】:

  • 你有可以展示的代码吗?

标签: r date time series


【解决方案1】:

您需要先将名为'Date' 的列转换为Date - 类对象。您可以为此使用as.Date,但您需要先添加一年。

your_year <- 2018
df$Date <- as.Date(paste0(df$Date, '-', your_year), format = '%b-%d-%Y')

【讨论】:

  • 当我这样做时,它给了我这个错误: df$Date 中的错误:'closure' 类型的对象不是子集
  • 你的数据是否在一个名为df的对象中,并且是日期列的名称"Date"
  • 我不确定我的数据是否在名为 df 的对象中,我对 R 很陌生。我有一个 .csv 文件,我使用了“导入数据集”按钮。我相信我的日期列称为日期?我从来没有给它起过名字
  • 您需要将 df 替换为您的数据框的名称,并将 Date 替换为您的 Date 列的名称。我不认为我可以帮助您弄清楚您的数据框的名称,我不熟悉您提到的图形工具。如果您在代码中导入 csv,例如函数read.csv,你必须自己命名,所以我建议这样做。
猜你喜欢
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 2013-04-17
  • 2022-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-02
相关资源
最近更新 更多