首页 > 解决方案 > 所有变量的 NMISS

问题描述

我正在尝试计算数据集中的缺失值,但我遇到了问题。我的第一个问题叫Q2,最后一个问题是Q55A7。因此,我不能使用NMISS(Q2 to Q55A7). 有没有办法通过ID而不是名称来做到这一点?或者我怎样才能让它工作?

标签: macrosspss

解决方案


实际上NMISS(Q2 to Q55A7)应该可以正常工作 - 当您使用to关键字 SPSS 引用数据中的变量时,它不会查看名称的结构,它只是根据它们在数据中的顺序获取这两者之间的所有变量数据。
您可能遇到的问题是存在您不希望包含的其他变量(例如,其他问题之间的开放式问题。这里有几种解决方法 -
假设您的变量被排序为如下:Q2 Q3 Q4 Q4Other Q5 Q6 Q55A7. 使用Q2 to Q55A7将包括Q4Other这是一个开放式文本变量,您不能将其包括在计算中。在这种情况下,您可以使用:

nmiss(Q3 to Q4, Q5 to Q55A7)

现在,如果有更多变量,并且您需要跳过许多变量,则上述方法变得像说明所有变量的名称一样麻烦。另一种返回的方法nmiss(Q3 to Q55A7)是更改​​变量的顺序,因此只有您想要在分析中使用的数值变量实际上放在这两者之间。一种方法是:

add files /file=* /keep Q4Other Q17Other SomeOtherOpenQ all.

运行此命令会将所有指定的变量带到数据集的开头,只留下您在分析中想要的变量Q3 to Q55A7

如果您仍然想对此进行改进,您可以查找(例如,参见spssinc select variables我的答案)扩展命令,该命令使您能够根据变量列表的属性定义变量列表,然后您可以对变量列表运行分析。


推荐阅读