[英]Generate Time Series in R with existing year variable
I would like to set an existing variable ( year
) at a time-series variable for use in regressions in R. 我想在时间序列变量中设置一个现有变量( year
),以用于R中的回归。
I have a dataset (in data-frame format ) of country-level socioeconomic information from 1999 to 2013. Not every country has observations for every year. 我有一个1999年至2013年国家/地区级社会经济信息的数据集(以数据框格式 )。并非每个国家/地区都有每年的观测数据。 Some fill the entire range (1999-2013). 有些涵盖了整个范围(1999-2013年)。 Others do not. 其他人没有。
The data look like this: 数据如下所示:
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
How can I tell R to treat these data as time-series? 如何告诉R将这些数据视为时间序列? I have tried the following: 我尝试了以下方法:
Setting the entire dataframe as a time series: 将整个数据帧设置为时间序列:
ts.data <- as.ts(data, start = 1999, end = 2013)
Setting a time-series variable within the dataset: 在数据集中设置时间序列变量:
data$timeseries <- ts(data$year, start = 1999, end = 2013, frequency = 1)
Unfortunately, neither works. 不幸的是,两者都不起作用。
I'm sure that this is a dumb question, and I apologize. 我确定这是一个愚蠢的问题,对不起。 Thank you in advance for your help! 预先感谢您的帮助!
Assuming you really do want to create a time series from this as stated in the question: 假设您确实确实想根据问题中的说明创建一个时间序列:
library(zoo)
z <- read.zoo(data, split = "country")
giving this "zoo"
class object (continued after output): 给这个"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
or to convert to "ts"
class: 或转换为"ts"
类:
tt <- as.ts(z)
Note: The input data
in reproducible form is: 注意:输入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.