我将用一个简单的例子来解释我的问题:假设一个名为" var"的变量。以下数据:是,不,可能。每一个都是字符串。我需要做这样的事情:
foreach i of 0/2{
label define lbl 'i' var['i']
}
(我知道有一种语法错误,但它只是一个例子)
问题是我想要从标签中为每个数字值分配一个来自de string variable var的数据,并且必须从0开始(已经尝试过使用encode命令,但是还没有能够改变数字使用像foreach,for等函数的值。我需要这样做,因为我在变量中有很多不同的数据,并且不能一个接一个地做,并拒绝相信我不能用stata而不是文本编辑器来做。我将衷心感谢您的帮助。谢谢!
答案 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
.