重塑大文件

时间:2014-05-23 17:29:12

标签: excel csv stata

我有一个包含8个变量和大约350,000个观察值的大型.csv文件。在此文件中,每个实际观察实际上分为105行。也就是说,每行具有针对一个特定人口统计的数据,并且存在105个人口统计切割(均与同一事件相关)。这使得将此文件与其他文件合并非常困难。

我想更改它,以便有3,500个带有变量的观察结果用于人口统计。我试过创建一个宏,但我没有多少运气。

This is what it looks like now.

This is what I'd like it to look like.

这样,每个ID都是一个独特的观察。我认为这将使它更容易使用。我可以使用Stata或Excel。这样做的最佳方式是什么?

1 个答案:

答案 0 :(得分:1)

所以这是一个我理解你想要的例子:

clear all
set more off

*----- example data -----

input id store date cut
1 5 1 1
1 5 1 2
2 8 1 1
2 9 1 2
2 8 2 3
end

format date %td

set seed 012385
gen val1 = floor(runiform()*1000)
gen val2 = floor(runiform()*2000)

list, sepby(id)

*----- what you want ? -----

reshape wide val1 val2, i(id store date) j(cut)

list, sepby(id)

我的id变量是数字,cut也是如此(请参阅help destringhelp encode进行转换)。示例数据也比您发布的数据复杂一些(如果您的示例不够具有代表性)。

预期结果的缺失(.)。 val11应被解释为val1的{​​{1}}。 cut == 1val21 val2cut == 1val12 val1,依此类推。因此,当cut == 2id == 1val13丢失时,由于此人未与val23一起显示。

我希望您能够清楚地了解您的数据。