查找带有值标签的所有变量

时间:2018-11-27 14:57:39

标签: stata

我有一个很大的数据集,里面有很多分类变量。

我为某些变量定义了值标签,但没有为其他变量定义

la de vlbl 1 "a" 2 "b" 3 "c"  
la val vlbl vlbl

如何查找标记了哪些变量并将其移至数据集的末尾?

1 个答案:

答案 0 :(得分:3)

考虑以下玩具示例:

clear
set obs 3

forvalues i = 1 / 10 {
    generate var`i' = _n
}

label define var3label 1 "A" 2 "B" 3 "C"
label values var3 var3label

label define var5label 1 "D" 2 "E" 3 "F"
label values var5 var5label

label define var9label 1 "G" 2 "H" 3 "I"
label values var9 var9label

list

     +----------------------------------------------------------------------+
     | var1   var2   var3   var4   var5   var6   var7   var8   var9   var10 |
     |----------------------------------------------------------------------|
  1. |    1      1      A      1      D      1      1      1      G       1 |
  2. |    2      2      B      2      E      2      2      2      H       2 |
  3. |    3      3      C      3      F      3      3      3      I       3 |
     +----------------------------------------------------------------------+

您只需要使用has()命令的ds选项和order

ds, not(vallabel)
order `r(varlist)'

list

     +----------------------------------------------------------------------+
     | var1   var2   var4   var6   var7   var8   var10   var3   var5   var9 |
     |----------------------------------------------------------------------|
  1. |    1      1      1      1      1      1       1      A      D      G |
  2. |    2      2      2      2      2      2       2      B      E      H |
  3. |    3      3      3      3      3      3       3      C      F      I |
     +----------------------------------------------------------------------+

您也可以使用has()而不是not()做相反的事情:

ds, has(vallabel)
order `r(varlist)'

list

     +----------------------------------------------------------------------+
     | var3   var5   var9   var1   var2   var4   var6   var7   var8   var10 |
     |----------------------------------------------------------------------|
  1. |    A      D      G      1      1      1      1      1      1       1 |
  2. |    B      E      H      2      2      2      2      2      2       2 |
  3. |    C      F      I      3      3      3      3      3      3       3 |
     +----------------------------------------------------------------------+