【发布时间】:2015-03-21 14:02:42
【问题描述】:
我正在尝试将多个代码分配给现有变量。我正在使用下面的语法,但它只会分配为 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?
【问题讨论】:
-
首先,
Else if (hosp.id.number=9037.行缺少右括号。其次,你的问题没有意义。或者,允许对单个变量 (role_EM_communication) 进行双重赋值的逻辑毫无意义。最后,ELSE IF永远不会被执行,因为同样的条件在它之前的DO IF中也是成立的。 -
复制/粘贴语法时,右括号被意外删除。语法在某种程度上确实有效。它正在分配所有适当的代码,只有它只会为每个 hosp id 分配一个代码——当我需要它时,根据数据(根据需要)为每个 id 分配 1-3 个代码。它是否正在执行所有尚未分配 hosp id 的 else if?你对如何用语法做到这一点有什么建议吗?我需要在数据集中分配一些 hosp id 的多个代码,并将这些多个代码计算在频率表中。