计算 SPSS 语法中一行的缺失值数量

问题描述 投票:0回答:1

我有一个基于调查的数据,每行代表一个特定的受访者,每列代表对调查中特定问题的回答。我有一个 72 列和 2417 行的数据集。对于每一行,我想找到每行缺失值的数量。我基本上想要评估的是每行中缺失值的百分比是多少。

COMPUTE counting_var = 0.
LOOP #i = 1 TO NCOLS(Dataset1).
   DO IF (MISSING(Dataset1(#i))).
      counting_var = counting_var + 1.
   END IF.
END LOOP.
counting_var = counting_var/NCOLS(Dataset1)
EXECUTE.

此代码是使用 SPSS 语法编写的。 通过这段代码,我试图找到特定受访者回答的调查问题的百分比。如果某一行的所有列都已填满,则表示受访者已回答了所有问题。 然而,这段代码并没有像我预期的那样工作,它只是创建一个名为counting_var的新列并用0填充它。如果有人能帮助我修复此代码,我将不胜感激。不幸的是,我只能使用 SPSS 语法来完成此操作,而不能使用其他编程语言。

spss
1个回答
0
投票

SPSS 有一个函数

nmiss
,无需循环即可获取一行中缺失值的数量。 假设函数中
var1
var72
之间的所有变量都是数值,并且在数据中连续,这应该对您有用:

compute Pmiss=nmiss(var1 to var72)/72.
© www.soinside.com 2019 - 2024. All rights reserved.