全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
13003 9
2012-10-15
假如有一个36*10的数据库,即有36行10列,我想把第一列的36行数据每4行拆成一列,从而拆成9列;以后各列采用同样的方法拆分,最后形成4*90的数据结构。
1                                            1   2   3            
1                                            1   2   3
1                                            1   2   3
1                                            1   2   3
2
2       拆分以后变成   
2
2
3
3
3
3

不知道如何用stata实现?求高手指导~

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2012-10-15 20:25:29
学习之
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-15 20:36:33
reshape 说不定可以,类似把wide 改为 long
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-16 01:27:51
clear

input year var

1        7
1        7
1        7
1        7
2        7
2        7
2        7
2        7
3        7
3        7
3        7
3        7
4        7
4        7
4        7
4        7
5        7
5        7
5        7
5        7

end

bys year:gen id=_n
reshape wide var, i(id) j(year)

l

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-16 14:10:32
大白菜2012 发表于 2012-10-16 01:27
clear

input year var
我的数据是36行*2000列的矩阵,需要把每一列拆分成9列,变成4行*18000列的矩阵。用您的方法是不是有点太麻烦了?本人小菜鸟,求指点~
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2012-10-16 22:56:48
renliting 发表于 2012-10-16 14:10
我的数据是36行*2000列的矩阵,需要把每一列拆分成9列,变成4行*18000列的矩阵。用您的方法是不是有点太麻 ...
看这个,

clear

input year var

1        7
1        7
1        7
1        7
2        7
2        7
2        7
2        7
3        7
3        7
3        7
3        7
4        7
4        7
4        7
4        7
5        7
5        7
5        7
5        7

end


bys year: gen id=_n

forval x=1/5 {
preserve
keep if year==`x'
rename year year`x'
rename var var`x'
sort id
save temp`x',replace
l
restore
}

use temp1,clear
forval x=2/5 {
qui mmerge id using temp`x'
drop _merge*
erase temp`x'.dta
}

order id

l

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群