【发布时间】:2016-11-05 14:31:56
【问题描述】:
现在我有 3 个国家/地区的时间序列 GDP 数据。我想为数据集创建一个面板,以进行进一步的面板分析。我不明白如何通过 reshape package a plm 创建它。
AT CZ DE
1995 68410.7 30457.3 630631.5
1995.25 68353.5 30213.1 625515.3
1995.5 68103.3 29766.4 623124.0
1995.75 67896.0 29661.8 621122.0
1996 67888.8 29595.8 616673.1
1996.25 67874.5 29880.0 616645.4
我发现我可以用这种方式重塑数据:
long <- reshape(as.data.frame(GDP.series),varying = list(names(GDP.series)), v.names="GDP",
timevar = "Country", idvar = "time", ids = row.names(GDP.series),
times = names(GDP.series), new.row.names = 1:((dim(GDP.series)[2])*(dim(GDP.series)[1])),direction = "long")
之后的数据看起来像:
Country GDP
1 AT 49149.0
2 AT 49555.5
3 AT 49475.9
4 AT 49507.6
5 AT 49888.9
6 AT 50324.5
但这种转换的问题是有关时间段的信息丢失了。我是初学者,并不是所有代码背后的东西对我来说都不够稳定,尤其是这部分:
"new.row.names = 1:((dim(GDP.series)[2])*(dim(GDP.series)[1])),direction = "long""
所以知道我的问题是如何改进/更改代码,以防数据具有以下格式:
Country GDP
2013 AT 49149.0
2012.75 AT 49555.5
2012.5 AT 49475.9
2012.25 AT 49507.6
2011 AT 49888.9
2011.75 AT 50324.5
或者如果我需要使用其他功能?先感谢您。 (代码取自本主题:Data Transformation in R for Panel Regression)
【问题讨论】:
-
欢迎来到 SO!!您能否从您的最终尝试并分享中间结果。我们愿意在这方面为您提供帮助!但请不要指望一切从头开始!
-
感谢您的评论,我已经更新了我的问题。
-
数据集面板?你能详细说明一下吗?分享您希望输出的样子?
标签: r time-series panel