Это действительно зависит от того, что вы подразумеваете под «идентификацией».
Рассмотрим следующий пример с игрушкой:
clear
set obs 6
generate var1 = _n
generate var2 = _n
generate var3 = _n
label define var1label 1 "Cat 1" 3 "Cat 3" 4 "Cat 4" 5 "Cat 5"
label define var2label 2 "Cat 2" 4 "Cat 4" 6 "Cat 6"
label define var3label 1 "Cat 1" 2 "Cat 2" 3 "Cat 3" 4 "Cat 4" 5 "Cat 5" 6 "Cat 6"
label values var1 var1label
label values var2 var2label
label values var3 var3label
list, separator(0)
+-----------------------+
| var1 var2 var3 |
|-----------------------|
1. | Cat 1 1 Cat 1 |
2. | 2 Cat 2 Cat 2 |
3. | Cat 3 3 Cat 3 |
4. | Cat 4 Cat 4 Cat 4 |
5. | Cat 5 5 Cat 5 |
6. | 6 Cat 6 Cat 6 |
+-----------------------+
Если вы просто хотите отобразить значения для нескольких переменных, самый простой способ
должен установить и использовать команду , предоставленную сообществом labellacking
(Ник Кокс, Роберт Пикард) из SSC:
ssc install labellacking
Тогда вы можете просто сделать следующее:
labellacking var*
var1 2 6
var2 1 3 5
Теперь, если вам нужно пометить соответствующие значения для последующего использования, вы должны
перебрать все соответствующие переменные и извлечь информацию с помощью макроса
расширенная функция:
ds var*
foreach var in `r(varlist)' {
generate `var'label = 0
local varlabel : value label `var'
if "`varlabel'" != "" {
levelsof `var', local(foo)
foreach val of local foo {
local labelval : label (`var') `val', strict
if "`labelval'" == "" {
replace `var'label = 1 if `var' == `val'
}
}
}
}
list, abbreviate(10) separator(0)
+-----------------------------------------------------------+
| var1 var2 var3 var1label var2label var3label |
|-----------------------------------------------------------|
1. | Cat 1 1 Cat 1 0 1 0 |
2. | 2 Cat 2 Cat 2 1 0 0 |
3. | Cat 3 3 Cat 3 0 1 0 |
4. | Cat 4 Cat 4 Cat 4 0 0 0 |
5. | Cat 5 5 Cat 5 0 1 0 |
6. | 6 Cat 6 Cat 6 1 0 0 |
+-----------------------------------------------------------+
list var1 if var1label == 1
+------+
| var1 |
|------|
2. | 2 |
6. | 6 |
+------+
list var2 if var2label == 1
+------+
| var2 |
|------|
1. | 1 |
3. | 3 |
5. | 5 |
+------+