// 0~1 사이의 난수를 생성해서 특정 값 뿌리기
// 일단 스타타 본래의 기능으로 불가능함.
// 그래서...... ^.^
qui gen rand = runiform() if gend == 1 & age == 18 // 성연령별로 0~1 사이의 난수생성
qui replace nps_pmon_yr = ///
cond(rand <= 0.12, 1 , ///
cond(rand <= 0.21, 2 , ///
cond(rand <= 0.34, 3 , ///
cond(rand <= 0.44, 4 , ///
cond(rand <= 0.49, 5 , ///
cond(rand <= 0.87, 6 , ///
cond(rand <= 0.91, 7 , 8 ))))))) if gend == 1 & age == 18
// 0~1 사이의 값으로 생성된 난수를 위의 특정 임계값을 기준으로 1에서 8사이의 값을 뿌림.
'MySTATA > 활용팁' 카테고리의 다른 글
폴더 안의 파일들을 일괄처리하기-기초 (0) | 2017.03.23 |
---|---|
인용부호가 있는 목록 처리: 값라벨 매크로 (0) | 2017.03.23 |
대용량 자료 처리 팁 (2) (0) | 2017.03.22 |
대용량 자료 처리 팁(1) (0) | 2017.03.22 |
불균형 패널을 균형패널로 만들기 (0) | 2016.04.14 |