开发者

transfer values from one variable to another in Stata

开发者 https://www.devze.com 2023-03-21 18:28 出处:网络
I have a problem at work: I have merged two datasets, and there is a number of variables which have the same content, but where an observation which has an value in the variable from dataset 1 have a

I have a problem at work: I have merged two datasets, and there is a number of variables which have the same content, but where an observation which has an value in the variable from dataset 1 have a missing-value in dataset 2. So I need to transfer the values from the one variable into the other one.

This is my best shot so f开发者_开发百科ar:

replace V23=1 if V232==1
replace V23=2 if V232==2
replace V23=3 if V232==3
replace V23=4 if V232==4
replace V23=8 if V232==8
replace V23=.u if V232==10 | V232==9

However, it is a tedious task to do that for 40+ variables - and since some of them are numerical variables, it becomes a a sisyphean task.


Here's a start:

foreach v of varlist v23 {
    local w `v'2
    replace `v' = `w' if missing(`v')
    replace `v' = .u if `w' == 10 | `w' == 9
}

Notice how this solution relies on a lexical relationship among the variable names: it assumes the old variable "v23" is associated with the new variable "v232". You can make a list of such associations and use it, but this is inconvenient. It's probably easier to rename the variables, if necessary, to conform to such a convention, then run the replacement script, and then restore the desired names.

If you're unfamiliar with this kind of automation, read the help pages for macro and foreach.

0

精彩评论

暂无评论...
验证码 换一张
取 消