如何从字符串变量中定义标签? (Stata的)

时间:2017-06-18 10:00:18

标签: string label stata

我将用一个简单的例子来解释我的问题:假设一个名为" var"的变量。以下数据:是,不,可能。每一个都是字符串。我需要做这样的事情:

foreach i of 0/2{
label define lbl 'i' var['i']
}

(我知道有一种语法错误,但它只是一个例子)

问题是我想要从标签中为每个数字值分配一个来自de string variable var的数据,并且必须从0开始(已经尝试过使用encode命令,但是还没有能够改变数字使用像foreach,for等函数的值。我需要这样做,因为我在变量中有很多不同的数据,并且不能一个接一个地做,并拒绝相信我不能用stata而不是文本编辑器来做。我将衷心感谢您的帮助。谢谢!

1 个答案:

答案 0 :(得分:2)

或许在您的数据中使用encode命令可以完成您的需要。

. list, clean

       strvar  
  1.      yes  
  2.       no  
  3.    maybe  
  4.       no  
  5.      yes  

. encode strvar, generate(numvar) label(l_numvar)

. label list l_numvar
l_numvar:
           1 maybe
           2 no
           3 yes

. list, clean nolabel

       strvar   numvar  
  1.      yes        3  
  2.       no        2  
  3.    maybe        1  
  4.       no        2  
  5.      yes        3  

. list, clean

       strvar   numvar  
  1.      yes      yes  
  2.       no       no  
  3.    maybe    maybe  
  4.       no       no  
  5.      yes      yes  

.