gpt4 book ai didi

r - 如何在R中创建多变量 "ts"对象?

转载 作者:行者123 更新时间:2023-12-02 20:47:49 25 4
gpt4 key购买 nike

我有两个不同时间序列的数据框。我可以使用以下命令单独创建 ts 对象:

数据框:

    Year Grocery_Stores Liquor
1 Feb-11 1953.8 216.8
2 Mar-11 2108.1 240.5
3 Apr-11 2062.3 244.4
4 May-11 2034.8 232.1
5 Jun-11 1988.6 223.6
6 Jul-11 2085.9 239.0

Ts_grocery <- ts(dataFeed$Grocery_Stores, frequency=12, start=c(2011,2))
Ts_Liquor <- ts(dataFeed$Liquor, frequency=12, start=c(2011,2))

我想将其绑定(bind)到并为我的 VAR 模型创建一个多变量时间序列“ts”对象。我尝试了一些可能性,但它不起作用。我如何才能制作一个“ts”对象?提前致谢。

最佳答案

数据框转ts

如果问题是如何将 datafeed 转换为 "ts" 系列,则:

ts(dataFeed[-1], start = c(2011, 2), freq = 12)

或将其读入动物园对象,然后使用 as.ts 将其转换为 "ts" 类(或者根据您想要执行的操作,只需使用 >z)。 FUN = as.yearmon 将索引转换为年/月,format 说明符 %b%y 表示月份缩写和 2 位数年份。

library(zoo)

z <- read.zoo(dataFeed, FUN = as.yearmon, format = "%b-%y")
as.ts(z)

使用 Zoo 的第二种方法的优点是可以从系列本身得出起始值。

绑定(bind)ts系列

如果问题是如何将两个 "ts" 系列绑定(bind)在一起,那么:

cbind(Ts_Liquor, Ts_grocery)

注意:可重复形式的输入为:

Lines <- "Year Grocery_Stores Liquor
1 Feb-11 1953.8 216.8
2 Mar-11 2108.1 240.5
3 Apr-11 2062.3 244.4
4 May-11 2034.8 232.1
5 Jun-11 1988.6 223.6
6 Jul-11 2085.9 239.0"

dataFeed <- read.table(text = Lines, as.is = TRUE)

关于r - 如何在R中创建多变量 "ts"对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43564450/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com