繁体   English   中英

使用现有年份变量在R中生成时间序列

[英]Generate Time Series in R with existing year variable

我的问题

我想在时间序列变量中设置一个现有变量( year ),以用于R中的回归。

我的资料

我有一个1999年至2013年国家/地区级社会经济信息的数据集(以数据框格式 )。并非每个国家/地区都有每年的观测数据。 有些涵盖了整个范围(1999-2013年)。 其他人没有。

数据如下所示:

data:
year   country   economy       poverty
2011   Algeria   1.0814223     1.3310658
2012   Algeria   0.4172840     0.6206897
2013   Algeria   0.5652174     0.9222222
1999   Morocco   1.0814223     1.3310658
2000   Morocco   1.3310658     1.1468254
2001   Morocco   0.6206897     1.2805829
2002   Morocco   0.9222222     1.3310658
2003   Morocco   1.6500000     0.7612833
2004   Morocco   0.9126984     0.9768519
2005   Morocco   1.1388889     1.3310658
2006   Morocco   1.0500000     0.8011516
2007   Morocco   1.0458075     0.5761905
2008   Morocco   1.5017544     0.6222222
2009   Morocco   1.1666667     1.3310658
2010   Morocco   1.0527660     1.1468254
2011   Morocco   1.3611111     0.5761905
2012   Morocco   1.1666667     0.5761905
2013   Morocco   1.4137931     0.5761905

如何告诉R将这些数据视为时间序列? 我尝试了以下方法:

将整个数据帧设置为时间序列:

ts.data <- as.ts(data, start = 1999, end = 2013)

在数据集中设置时间序列变量:

data$timeseries <- ts(data$year, start = 1999, end = 2013, frequency = 1)

不幸的是,两者都不起作用。

我确定这是一个愚蠢的问题,对不起。 预先感谢您的帮助!

假设您确实确实想根据问题中的说明创建一个时间序列:

library(zoo)
z <- read.zoo(data, split = "country")

给这个"zoo"类对象(输出后继续):

> z
     economy.Algeria poverty.Algeria economy.Morocco poverty.Morocco
1999              NA              NA       1.0814223       1.3310658
2000              NA              NA       1.3310658       1.1468254
2001              NA              NA       0.6206897       1.2805829
2002              NA              NA       0.9222222       1.3310658
2003              NA              NA       1.6500000       0.7612833
2004              NA              NA       0.9126984       0.9768519
2005              NA              NA       1.1388889       1.3310658
2006              NA              NA       1.0500000       0.8011516
2007              NA              NA       1.0458075       0.5761905
2008              NA              NA       1.5017544       0.6222222
2009              NA              NA       1.1666667       1.3310658
2010              NA              NA       1.0527660       1.1468254
2011       1.0814223       1.3310658       1.3611111       0.5761905
2012       0.4172840       0.6206897       1.1666667       0.5761905
2013       0.5652174       0.9222222       1.4137931       0.5761905

或转换为"ts"类:

tt <- as.ts(z)

注意:输入data的可复制形式为:

Lines <- "year   country   economy       poverty
2011   Algeria   1.0814223     1.3310658
2012   Algeria   0.4172840     0.6206897
2013   Algeria   0.5652174     0.9222222
1999   Morocco   1.0814223     1.3310658
2000   Morocco   1.3310658     1.1468254
2001   Morocco   0.6206897     1.2805829
2002   Morocco   0.9222222     1.3310658
2003   Morocco   1.6500000     0.7612833
2004   Morocco   0.9126984     0.9768519
2005   Morocco   1.1388889     1.3310658
2006   Morocco   1.0500000     0.8011516
2007   Morocco   1.0458075     0.5761905
2008   Morocco   1.5017544     0.6222222
2009   Morocco   1.1666667     1.3310658
2010   Morocco   1.0527660     1.1468254
2011   Morocco   1.3611111     0.5761905
2012   Morocco   1.1666667     0.5761905
2013   Morocco   1.4137931     0.5761905"

data <- read.table(text = Lines, header = TRUE)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM