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".
正如标题所说。
我正在尝试做的是一种将列的标签设置为等于另一列中的值的方法。
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".