计算面板数据长表的相关性
Calculate within correlation in panel data long form
我们有一个长格式的简单面板数据集,其结构如下:
i t x
1 Aug-2011 282
2 Aug-2011 -220
1 Sep-2011 334
2 Sep-2011 126
1 Sep-2012 -573
2 Sep-2012 305
1 Nov-2013 335
2 Nov-2013 205
3 Nov-2013 485
我想得到时间变量t
内每个i
之间的互相关。
这可以通过将数据转换为宽格式来实现。不幸的是,由于真实数据集中有大量 i
和 t
值,这种方法不可行。
是否可以在这个虚构的命令中执行类似的操作:
by (tabulate t): corr x
您可以使用 community-contributed 命令的 reshape
选项轻松计算单个变量(例如 x
跨面板组的相关性 pwcorrf
:
ssc install pwcorrf
为了便于说明,请考虑您的玩具示例(稍微简化的版本):
clear
input i t x
1 2011 282
2 2011 -220
1 2012 334
2 2012 126
1 2013 -573
2 2013 305
1 2014 335
2 2014 205
3 2014 485
end
xtset i t
panel variable: i (unbalanced)
time variable: t, 2011 to 2014
delta: 1 unit
pwcorrf x, reshape
Variable(s): x
Panel var: i
corrMatrix[3,3]
1 2 3
1 1 0 0
2 -.54223207 1 0
3 . . 1
我们有一个长格式的简单面板数据集,其结构如下:
i t x
1 Aug-2011 282
2 Aug-2011 -220
1 Sep-2011 334
2 Sep-2011 126
1 Sep-2012 -573
2 Sep-2012 305
1 Nov-2013 335
2 Nov-2013 205
3 Nov-2013 485
我想得到时间变量t
内每个i
之间的互相关。
这可以通过将数据转换为宽格式来实现。不幸的是,由于真实数据集中有大量 i
和 t
值,这种方法不可行。
是否可以在这个虚构的命令中执行类似的操作:
by (tabulate t): corr x
您可以使用 community-contributed 命令的 reshape
选项轻松计算单个变量(例如 x
跨面板组的相关性 pwcorrf
:
ssc install pwcorrf
为了便于说明,请考虑您的玩具示例(稍微简化的版本):
clear
input i t x
1 2011 282
2 2011 -220
1 2012 334
2 2012 126
1 2013 -573
2 2013 305
1 2014 335
2 2014 205
3 2014 485
end
xtset i t
panel variable: i (unbalanced)
time variable: t, 2011 to 2014
delta: 1 unit
pwcorrf x, reshape
Variable(s): x
Panel var: i
corrMatrix[3,3]
1 2 3
1 1 0 0
2 -.54223207 1 0
3 . . 1