楼主: sysuguohao
3367 8

求教:怎样进行数据拆分? [推广有奖]

  • 1关注
  • 0粉丝

本科生

23%

还不是VIP/贵宾

-

威望
0
论坛币
299 个
通用积分
0.0005
学术水平
2 点
热心指数
2 点
信用等级
2 点
经验
845 点
帖子
51
精华
0
在线时间
82 小时
注册时间
2008-6-6
最后登录
2023-5-13

楼主
sysuguohao 在职认证  发表于 2011-12-25 09:26:19 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题:
年份                   v1      v2        v3      v4     ……
1999-2003           *       *         *         *
……
(*代表一个数值)
对于这样的数据,我想对它进行拆分。例子中的一个样本时间是1999到2003,现在我想把它变成5行,每年一行,而其他变量(v1,v2,v3,v4……)仍然取原来的数值。
请问用stata如何实现?
二维码

扫码加我 拉你入群

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

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

关键词:Stata tata 如何实现 一个样 怎样

沙发
sysuguohao 在职认证  发表于 2011-12-25 14:38:47
自个先顶一下

藤椅
aolei 发表于 2011-12-25 14:54:58
楼主把数据贴完整,你的表述看不太明白

板凳
sysuguohao 在职认证  发表于 2011-12-25 15:15:01
aolei 发表于 2011-12-25 14:54
楼主把数据贴完整,你的表述看不太明白
原始数据:
id     car     house      computer      start         end
1     3          2             10               2001        2003
我想用stata变成这样的数据
id     car     house      computer      year
1     3          2             10               2001

报纸
sysuguohao 在职认证  发表于 2011-12-25 15:18:31
aolei 发表于 2011-12-25 14:54
楼主把数据贴完整,你的表述看不太明白
原始数据:一个企业在2001-2003年间,有车3辆,房子两间,电脑10台,
id     car     house      computer      start         end
1     3          2             10               2001        2003
我想用stata变成这样的数据
id     car     house      computer      year
1     3          2             10               2001
1     3          2             10               2002
1     3          2             10               2003
用stata程序如何实现?

地板
aolei 发表于 2011-12-25 15:31:10
sysuguohao 发表于 2011-12-25 15:18
原始数据:一个企业在2001-2003年间,有车3辆,房子两间,电脑10台,
id     car     house      comput ...
expand 3
gen d=_n+2000

7
sysuguohao 在职认证  发表于 2011-12-25 16:05:18
aolei 发表于 2011-12-25 15:31
expand 3
gen d=_n+2000
非常感谢,问题已经解决了一半。但是如果是有很多个数据。stata指令应该是怎样呢?
对数据进行拆分:expand end-start+1
但是下面的生成年份的指令就不能使这样了。请问应该如何改?
比如下面的例子:
id     car     house      computer      start         end
1     3          2             10               2001        2003
2     4          5             36               2000        2004

8
aolei 发表于 2011-12-25 16:26:24
sysuguohao 发表于 2011-12-25 16:05
非常感谢,问题已经解决了一半。但是如果是有很多个数据。stata指令应该是怎样呢?
对数据进行拆分:exp ...
*用个循环语句就可以了
gen d=end-start
foreach x in id[1]-id[2]{
expand d
bysort id: gen t=_n+start
}

9
sysuguohao 在职认证  发表于 2011-12-26 10:37:19
aolei 发表于 2011-12-25 16:26
*用个循环语句就可以了
gen d=end-start
foreach x in id[1]-id[2]{
谢谢,问题已经解决。我也想到要用循环,可是不会用,呵呵

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群
GMT+8, 2025-12-26 11:04