簡體   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