请问如何用loop解决这个问题?(我试过用merge-append-duplicates drop可行,但是太繁琐)
示范数据如下:
- // generate the data
- clear *
- set seed 12345
- set obs 100
- gen id=_n
- forv i = 1/5 {
- gen x`i' = uniform()
- replace x`i'=. if x`i'>=0.7
- replace x`i' = 1 if x`i'>0.3 & x`i'<0.7
- replace x`i' = 0 if x`i'<=0.3
- }
-
- label define gender 0 "Female" 1 "Male"
- label value x1 gender
-
- label define ans 0 "no" 1 "yes"
-
- forv i = 2/5 {
- label value x`i' ans
- }
- preserve
- sample 20
- gen sample=1
- save sample1, replace
- restore
- preserve
- set seed 67890
- sample 25
- replace id= floor((100-1+1)*runiform() + 1)
- duplicates drop id, force
- gen sample=2
- save sample2, replace
- restore
- preserve
- set seed 34567
- sample 25
- replace id= floor((100-1+1)*runiform() + 1)
- duplicates drop id, force
- gen sample=3
- save sample3, replace
- restore