我想为数据集中的每个变量添加一个值和一个标签。据我了解,VALUE LABELS命令会删除变量中已经存在的值和标签(该命令中未包含),所以我不想这样做。
有什么想法吗?谢谢!
答案 0 :(得分:1)
如果您想标记变量(例如:v1 v2 v3),则可以使用:
VARIABLE LABELS
v1 'label for v1'
v2 'label for v2'
v3 'label for v3' .
如果您想在与变量关联的值上添加标签,但又不丢失任何现有的值标签,则可以使用:
ADD VALUE LABELS
v1
1 'label for v1=1'
2 'label for v1=2' /
v2
1 'label for v2=1'
2 'label for v2=2' /
v3
1 'label for v3=1'
2 'label for v3=2' .
如果以前存在任何标签,它们仍将保留(除非在您的ADD VALUES命令中被明确覆盖)。
答案 1 :(得分:0)
一旦为变量标签准备了表,为值标签准备了表,则可以使用它们创建将其放入数据集中的语法。
阅读以下文本,以获取有关变量标签列表外观的示例:
data list list/vr (a10) lb (a50).
begin data
"myvar1" "this is the label for var1"
"myvar2" "this is the label for var2"
"myvar3" "this is the label for var3"
end data.
现在您可以运行以下语法:
string cmd1 (a100).
compute cmd1=concat("variable labels ", rtrim(vr), " '", rtrim(lb), "'.").
write out = "yourpath\do variable labels.sps" /cmd1.
exe.
这将创建一个名为do variable labels.sps
的新语法,其中包含variable labels
命令。
现在是值标签-从下面的表格外观示例开始:
data list list/vr (a10) vl (f3) lb (a50).
begin data
"myvar1" 1 "cat"
"myvar1" 2 "dog"
"myvar1" 3 "horse"
"myvar2" 1 "bed"
"myvar2" 2 "table"
"myvar2" 3 "chair"
end data.
表准备好后,请使用以下语法:
string cmd2 (a100).
compute cmd2=concat("add value labels ", rtrim(vr), " ", string(vl,f3), " '", rtrim(lb), "'.").
write out = "yourpath\do value labels.sps" /cmd2.
exe.
现在您可以使用名为do value labels.sps
的新语法。
您还可以查看insert
命令来从主语法中运行这两种新语法,而无需打开它们。
答案 2 :(得分:0)
@ user45392用户指出,您可以使用ADD VALUE LABELS
命令。
要向数据集中的每个变量添加相同的值和标签,您只需在变量列表的位置写入关键字ALL
。
ADD VALUE LABELS ALL
N "new label".
N
代表新的增值。