计算多个变量中缺失值的快速方法

Quick way to count missing values in many variables

我创建了一个小程序来计算 'None' 缺失值的数量。但问题是它非常耗时(1000 变量大约 6-7mn,这太多了,因为我正在处理更大的数据集)。

所以我正在寻找替代方案,也许有人可以在这里提供帮助。这是我的程序:

BEGIN PROGRAM.
import spss
vars=spss.GetVariableCount()

for i in range(vars):
    dataCursor=spss.Cursor([i])
    oneVar=dataCursor.fetchall()
    dataCursor.close()
    miss=str(oneVar)
    counter=miss.count('None')
    #print counter
print "done"
END PROGRAM.

我也试过替换:

counter=miss.count('None')

来自

counter=miss.find('None')

但这并没有改变任何东西。有人能帮我吗?我看到了 google 帮助这个程序:

begin program.
import spssdata
majors = []
for case in spssdata.Spssdata('mq1'):
    major = case[0]
    if major not in majors:
        majors.append(major)
print majors
end program.

但我无法为所有变量创建 运行。因为当我们有一个 'None' 时,它将始终列在该列表的第一位,我认为这可能有助于找到解决方案。

如果有人知道,我将不胜感激!

SPSS语法aggregate命令可以轻松做到这一点:

aggregate ...... /nms1 to nms1000=nmiss(var1 to var1000).