How to edit a codebook like this? I mean, is it formed by editing within Stata commands or from other software (Word or Latex) ?
-
Login or Register
- Log in with
clear sa codebook.dta, replace emptyok sysuse auto, clear keep mpg price for rep78 lab def rep78 1 "test" 2 "test2" 3 "test3" 4 "test4" 5 "test5", modify lab val rep78 rep78 **would need to add some code to deal with string or unlabeled categorical vars if they exist loc z = 1 foreach v of varlist * { preserve g lab = `"`:var lab `v''"' g var = `"`v'"' **how many values loc n qui distinct `v' loc n `r(ndistinct)' loc k = 1 if `n' <= 10 & !mi(`n') { //categorical, assumes vallabs g val1 = "" g val2 = . qui levelsof `v', loc(l) //add missing? loc k = `r(r)' loc o = 1 foreach a in `r(levels)' { replace val2 = `a' in `o' loc vl `"`:val lab `v''"' replace val1 = `"`:lab `vl' `a''"' in `o' loc `++o' } replace lab = "" in 2/l } if `n' >10 & !mi(`n') { //continuous qui su `v', d loc llabs `" From `r(min)' to `r(max)' "' g val1 = "Record in order" g val2 = `'"`llabs'"' replace var = "" in 2/l } keep lab var val* keep in 1/`k' *for sorting g sort = `z' loc `++z' cap tostring val2, replace append using codebook.dta sa codebook.dta, replace restore } u codebook, clear sort sort val2 l, noobs sepby(var)
Comment