楼主: generated
1098 3

增加数据问题,求助 [推广有奖]

  • 0关注
  • 0粉丝

初中生

4%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
26.2382
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
55 点
帖子
8
精华
0
在线时间
8 小时
注册时间
2012-10-14
最后登录
2012-11-23

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
现有数据如下

id  year   x1 x2 x3

id 有1000个,year是2003-2008

我希望在每一个id下,year再增加1999-2003年,这些年的x1 x2 x3的值均为缺失

希望达人能告知如何操作 非常感谢 !!


二维码

扫码加我 拉你入群

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

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

关键词:year 非常感谢 如何操作 ear 如何

沙发
大白菜2012 发表于 2012-10-17 00:49:46 |只看作者 |坛友微信交流群
//say, there are 10 observations in your data set, with variables, year, x1, x2
clear
set obs 10
gen year=2000
gen x1=1
gen x2=2
save yourdata,replace

//we create empty data sets from 2003 to 2005
forval year=2003/2005 {
clear
set obs 10
gen year=`year'
save temp`year',replace
}

//append them all together
use temp2003, clear
forval year=2004/2005 {
append using temp`year'
erase temp`year'.dta
}

//append with your data set
append using yourdata
erase yourdata.dta

sort year

l
元芳,侬怎么L00K?

使用道具

藤椅
sungmoo 发表于 2012-10-17 15:18:25 |只看作者 |坛友微信交流群
*设原先有6000观测值(平衡面板)
set ob 10000
replace year=mod(_n,4)+1999 if year==.
bys year (id): replace id=_n if id==.
sort id year
已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunknownay + 100 + 5 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 100  论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
generated 发表于 2012-10-17 23:38:31 |只看作者 |坛友微信交流群
谢谢各位热心大侠

使用道具

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

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-11-9 22:37