全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 Stata专版
1316 4
2017-12-18
悬赏 300 个论坛币 已解决
数据如下:
三个变量:id,n,a1。其中id是唯一的,n是依据id生成的流水号。也即id和n是一一对应关系。
我现在需要根据id和n之间的对应关系,将a1的值也改变。比如,第一行的a1值20406097,我发现这个值在id中为555。那么,就将其改为555。
a1有些值不在id范围内,可以不改,或者可以改成缺失值。


数据结构.jpg

最佳答案

仰望星空abc 查看完整内容

这个问题比较简单,总体思路是用merge命令。(1)将数据分成两个dta文件,分别 命名为master 与user.,master中包括id 与n两个变量;user中包括a1这个变量。然后代码如下: use user.dta,clear gen id=a1 save user.dta,replace use master.dta,clear merge m:1 id using user.dta keep if _merge==3|_merge==2 replace a1=n save master.dta,replace
二维码

扫码加我 拉你入群

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

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

全部回复
2017-12-18 15:54:43
这个问题比较简单,总体思路是用merge命令。(1)将数据分成两个dta文件,分别 命名为master 与user.,master中包括id 与n两个变量;user中包括a1这个变量。然后代码如下:
use user.dta,clear
gen id=a1
save user.dta,replace
use master.dta,clear
merge m:1 id  using user.dta
keep if _merge==3|_merge==2
replace a1=n
save master.dta,replace
二维码

扫码加我 拉你入群

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

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

2017-12-18 16:22:58
有一句我写错了。
这句我重新表达一下。
我现在需要根据id和n之间的对应关系,将a1的值也改变。比如,第一行的a1值20406097,我发现这个值可以在id中找到,并且id中的这个值对应的n为555。那么,就将a1的这个值也改为555。
二维码

扫码加我 拉你入群

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

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

2017-12-18 18:00:30
仰望星空abc 发表于 2017-12-18 15:54
这个问题比较简单,总体思路是用merge命令。(1)将数据分成两个dta文件,分别 命名为master 与user.,maste ...
嗯。非常感谢~~~
二维码

扫码加我 拉你入群

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

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

2017-12-18 18:50:04
仰望星空abc 发表于 2017-12-18 15:54
这个问题比较简单,总体思路是用merge命令。(1)将数据分成两个dta文件,分别 命名为master 与user.,maste ...
为什么不是
复制代码
二维码

扫码加我 拉你入群

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

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

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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