我正在尝试为现有变量分配多个代码。我使用下面的语法,但它只会分配为hosp.id.number
输入的第一个代码。
语法示例:
Do if (hosp.id.number=9037) or (hosp.id.number=1058) or (hosp.id.number=11256).
Compute role_EM_communication=10.
Else if (hosp.id.number=9037.
Compute role_EM_communication=11.
End if.
Execute.
hosp.id.number
需要编码为10和11,但它只会在10处编码。无论如何要改写,以便SPSS接受2个或更多代码作为变量,例如hosp.id.number
?
答案 0 :(得分:0)
您的role_EM_communication
变量是一个变量,但根据您的说法,我认为您需要将其设为设置(对于相同的记录,它可能会超过只需一个代码)。因此,您需要创建名为role_EM_communication_1
到role_EM_communication_n
的 n 变量,其中n是您为一条记录估算的最大代码数。
对于您的示例,它会像这样翻译:
创建2个变量:
vector role_EM_communication_ (2, f2.0).
进行第一次重新编码:
if any(hosp.id.number,9037,1058,11256) role_EM_communication_1=10.
非常重要 - 执行重新编码
exe.
检查第一个变量是否有数据,如果为true,则填充第二个变量:
if miss(role_EM_communication_1) and any(hosp.id.number,9037) role_EM_communication_1=11.
if ~miss(role_EM_communication_1) and any(hosp.id.number,9037) role_EM_communication_2=11.
exe.