Advertisement
nealcaren

Untitled

May 17th, 2013
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. clear all
  2.  
  3. set maxvar 10000
  4.  
  5. set tracedepth 1
  6. set trace off
  7.  
  8.  
  9. cap program drop nominalhunt
  10.  
  11. program nominalhunt
  12. syntax varlist [, minimum(integer 3) maximum(integer 5)]
  13. tempvar nvals
  14. foreach var of varlist `varlist' {
  15. *Figure out unique number of cases:
  16. capture drop `nvals'
  17. by `var', sort: gen `nvals' = _n == 1
  18. cap: qui count if `nvals' & !missing(`var')
  19. if _rc {
  20. qui count if `nvals' & `var'~=""
  21. }
  22.  
  23. if r(N)>=`minimum' & r(N)<=`maximum' {
  24. local good_count "True"
  25. }
  26. else {
  27. local good_count "False"
  28. }
  29.  
  30. *Does it have key words that signal ordinal
  31. if "`good_count'" == "True" {
  32. local likely_ordinal "False"
  33. qui levelsof `var', local(levels)
  34. local lbe : value label `var'
  35. foreach l of local levels {
  36. local vlabel: label `lbe' `l'
  37. if "`likely_ordinal'" == "False" {
  38. foreach signal in "yes" "more" "never" "strongly" ">" "somewhat" "extremely" ///
  39. "freq" "often" "likely" "very" "mostly" "some" "excellent" {
  40. if strpos("`vlabel'","`signal'")>0 {
  41. local likely_ordinal "True"
  42. }
  43. }
  44. }
  45.  
  46. }
  47. }
  48.  
  49. if "`good_count'" == "True" & "`likely_ordinal'" == "False" {
  50. codebook `var'
  51. }
  52.  
  53. }
  54. end
  55.  
  56. use gss7212_r1.dta, clear
  57. nominalhunt *, minimum(4) maximum(4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement