Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- clear all
- set maxvar 10000
- set tracedepth 1
- set trace off
- cap program drop nominalhunt
- program nominalhunt
- syntax varlist [, minimum(integer 3) maximum(integer 5)]
- tempvar nvals
- foreach var of varlist `varlist' {
- *Figure out unique number of cases:
- capture drop `nvals'
- by `var', sort: gen `nvals' = _n == 1
- cap: qui count if `nvals' & !missing(`var')
- if _rc {
- qui count if `nvals' & `var'~=""
- }
- if r(N)>=`minimum' & r(N)<=`maximum' {
- local good_count "True"
- }
- else {
- local good_count "False"
- }
- *Does it have key words that signal ordinal
- if "`good_count'" == "True" {
- local likely_ordinal "False"
- qui levelsof `var', local(levels)
- local lbe : value label `var'
- foreach l of local levels {
- local vlabel: label `lbe' `l'
- if "`likely_ordinal'" == "False" {
- foreach signal in "yes" "more" "never" "strongly" ">" "somewhat" "extremely" ///
- "freq" "often" "likely" "very" "mostly" "some" "excellent" {
- if strpos("`vlabel'","`signal'")>0 {
- local likely_ordinal "True"
- }
- }
- }
- }
- }
- if "`good_count'" == "True" & "`likely_ordinal'" == "False" {
- codebook `var'
- }
- }
- end
- use gss7212_r1.dta, clear
- nominalhunt *, minimum(4) maximum(4)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement