互助问答第22期:在stata中将截面数据转为面板数据
有位名叫“长河”的读者来信,向我们公众号“论文导向计量实证社区”的老师请教了一个关于如何将截面数据转为面板数据的问题。在老师的详细解答下,小读者根据思路自行 help do file,用stata成功解决了将截面数据转为面板数据的问题。在此感谢读者长河将他的解决方案在“论文导向计量实证社区”分享出来。原文:Stata中的reshape命令
问题:如何将截面数据转为面板数据?如图1所示,在excel里将左图的截面数据转为右图的面板数据可能比较费劲,在stata里如何快速自动完成转化呢?

答:
(1)首先了解stata里的reshape程序,如图2所示。Reshape long可以将wide型数据(截面数据)转为long型数据(面板数据),reshape wide则与reshape long相反。long型数据中i可以指个体,j指时间,stub可以理解为各类随j变化的变量,这就是面板数据。 Wide与long之间的互动就是 i,stub&j ⇌ i,j,stub。

图2
(2)然后就是实践。运用reshape语句时,重点就是对long和wide型数据中i和j的认识。回到图1,找到i,j,stub三要素。①Wide form中的id就是i;②inc80、inc81、inc82就是stub&j;③sex与id保持对应,不随j(时间)变化,不需要在代码中反映。
于是可以用 reshape long的语句将截面数据变为面板数据,wide form中i(id)变为long form中的i(id),sex与i自动保持一致,stub&j拆分为stub(inc)和j(year)。具体语句可见图3。

图3
(3)案例。从excel的截面数据到stata生成面板数据:
①Excel 中编辑好stub&year的变量名称并导入stata:如图4


图4
②输入命令:reshape long t, i(code) j(year)
③最后得出:如图5,t是随时间变化的各类变量。

图5
当然了,懂excel的高手可能会觉得这个转置特别简单,完全不需要Stata。我们公众号“论文导向计量实证社区”非常欢迎各位高手来信分享您的方法。在此,我们对来信读者长河表达由衷的感谢!
学术指导:张晓峒老师
作者:长河
编辑:Hollian
统筹:易仰楠

