String 如何从字符串变量中定义标签?(斯塔塔)

String 如何从字符串变量中定义标签?(斯塔塔),string,label,stata,String,Label,Stata,我将用一个简单的例子来解释我的问题:假设一个名为“var”的变量包含以下数据:yes,no,maybe。每一个都是字符串。我需要这样做: foreach i of 0/2{ label define lbl 'i' var['i'] } (我知道有语法错误,但这只是一个例子) 问题是,我想为标签的每个数值分配一个来自de字符串变量var的数据,并且必须从0开始(已经尝试使用encode命令,但无法使用foreach、for等函数更改de数值)。我需要这样做,因为我在一个变量中有很多不同的数据,

我将用一个简单的例子来解释我的问题:假设一个名为“var”的变量包含以下数据:yes,no,maybe。每一个都是字符串。我需要这样做:

foreach i of 0/2{
label define lbl 'i' var['i']
}
(我知道有语法错误,但这只是一个例子)


问题是,我想为标签的每个数值分配一个来自de字符串变量var的数据,并且必须从0开始(已经尝试使用encode命令,但无法使用foreach、for等函数更改de数值)。我需要这样做,因为我在一个变量中有很多不同的数据,不能一个接一个地做,并且拒绝相信我不能用stata而不是文本编辑器来做。我非常感谢你的帮助。谢谢

也许对数据使用
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  

.

也许对数据使用
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  

.
-labmask-(-search labmask-查找讨论和下载位置)也很相关。-labmask-(-search labmask-查找讨论和下载位置)也很相关。