SPSS 设置标签等于列中的值

SPSS set lables equal to value in column

正如标题所说。

我正在尝试做的是一种将列的标签设置为等于另一列中的值的方法。

A     B
1     Car
2     Bike 
3     Van 
1     Car
3     Van 

A​​ 列包含数值。 B 列包含标签。

我想告诉 SPSS 取值 1,并为其分配标签“汽车”(等等),因为通常是手动完成的:

VALUE LABELS 
1 "Car"
2 "Bike"
3 "Van".
Execute.

下面的语法将自动创建一个新语法,按照您的描述添加值标签。

开始之前,我将重新创建您发布的示例数据以用于演示:

data list list/A  (f1)   B (a10).
begin data
1     "Car"
2     "Bike"
3     "Van"
1    " Car"
3     "Van" 
end data.
dataset name orig.

现在我们开始工作:

* first we aggregate the data to get only one line for every value/label pair.
dataset declare agg.
aggregate out=agg /break A B /nn=n.
dataset activate agg.

* now we use the data to create a syntax file with the value label commands.
string cat (a50).
compute cat=concat('"', B, '"').
write out="yourpath\my labels syntax.sps" /"add value labels A ", A, cat, ".".
execute.

* getting back to the original data we can now execute the syntax.
dataset activate orig.
insert file="yourpath\my labels syntax.sps".