我想将tbl_df转换为ts,以进行时间序列分析。我已经完成了,但是丢失了我的(月)列,这是我的数据中的日期

问题描述 投票:1回答:2

我正在尝试将数据集tbl_df转换为时间序列(ts),以执行ARIMA预测模型。这些是我原始数据集的前5行;

   Month      count
   <date>     <int>
 1 2016-01-01   431
 2 2016-02-01   478
 3 2016-03-01   468
 4 2016-04-01   488
 5 2016-05-01   445

成功转换后,我失去了Month列,但得到了一个奇怪的日期。我已使用以下代码将其转换为ts;

 crime_monthly1 <- as.ts(crime_monthly)

我通过Month col将此更改为奇数;

   Month count
 1 16801   431
 2 16832   478
 3 16861   468
 4 16892   488
 5 16922   445

我已应用此代码将日期和整个数据集转换为ts,但无济于事;

crime_monthly1$Month <- as.Date(crime_monthly1$Month, format = "%m/%d/%Y")
ts(crime_monthly1[,-1], start = as.Date(crime_monthly1$Month[1]), frequency = 1)

我遇到以下错误;

Error in crime_monthly1$Month : $ operator is invalid for atomic vectors

另一个问题是我得到了[[频率仅为1。尽管我的数据集具有36个月的每月时间分辨率,但我认为应该是12,因为1年中有12个月。

任何人都可以告诉我执行此操作的完整过程。真的很抱歉,但是我是R语言的新手,我也搜索了以前的问题,但找不到我所遇到的确切解决方案。

我正在尝试将数据集tbl_df转换为时间序列(ts),以执行ARIMA预测模型。这些是我原始数据集的前5行;月计数

]

r time-series rstudio gis
2个回答
1
投票
最简单的方法是这个。

crime_ts <- ts(crime_monthly$count, start=2016, frequency=12)


1
投票
假定末尾的注释中可重复显示输入,请使用表示年/月的z索引类将其转换为动物园对象yearmon。然后,as.ts将以正确的频率将其转换为ts类。
© www.soinside.com 2019 - 2024. All rights reserved.