如果变量中有文本,则 SPSS 标志

问题描述

我是 SPSS(第 25 版)的新手,我正在为可能很简单的事情而苦苦挣扎 - 我的变量是字符串,所以可以说药物名称或客户名称或任何字符串。如果单元格中有任何东西,我想计算将标记它们的新变量(给它们值 1),如果单元格为空,则忽略它,所以它看起来像那样

Var1 Var2
xxx   1
 -
yyy   1
zzz   1

等等。 var1 是数字时很容易,但当它是字符串时就不行了

我试过这样的事情

IF NOT (var1="") var2 = 1 .

IF(NOT(var1="")) var2 = 1 .

但它创建了空的数字 var2

即使在我的指南上也说

If(sysmis(var1)) var1new = 1.

但是它似乎不适用于 SPSS ver.25

希望你能帮我解决这个问题,从而节省大量工作

解决方法

正如您从评论中看到的,有许多方法可以完成此任务。我提倡发布一个 COMPUTE 命令,您可以在其中根据逻辑条件设置新变量的值:

计算标志 = (CHAR.LENGTH(RTRIM(LTRIM(var1)))>0).

执行。

上面查看了修剪后的字符串的长度(值的右侧和左侧的空格被修剪掉了)。如果单元格为空或包含空格,则修剪后的长度将为零 (0),条件将为“false”且新的“flag”变量将获得 0 值。如果存在数据,则修剪后的长度将 > 0,条件为“真”,新的“标志”变量为 1。

,

你没事 - 我没有设置执行。这是我在 SPSS 中的常见错误

此外 - 我通过对这个变量执行 AUTORECODE 来管理它,然后我得到值为 1 的空,然后重新编码 (1=0)

非常感谢您的帮助