2016-03-06 14 views
0

我的問題

我想在使用的時間序列變量R.生成時間序列中的R與現有的一年可變

設置一個現有的變量( year)在迴歸

我的數據

我有一個從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)

不幸的是,作品。

我敢肯定,這是一個愚蠢的問題,我很抱歉。預先感謝您的幫助!

+2

看來你有多次系列(每個國家之一),而不是隻有一個。根據你打算做什麼,你可能要麼使用['zoo'](https://cran.r-project.org/web/packages/zoo/index.html),或者很可能[ plm'](https://cran.r-project.org/web/packages/plm/index.html)並將其設置爲面板數據。 – griverorz

回答

4

假設你確實想創建這樣的時間序列中的問題指出:

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) 
+0

親愛的@ g-grothendieck,非常感謝您的回覆。我會盡快嘗試。 – Yasha