楼主: owwa
6594 17

[问答] 请教SPSS缺值处理问题 [推广有奖]

11
owwa 发表于 2009-9-22 03:20:03
ttewwcqu 发表于 2009-9-12 10:02
那这个可以用 select case 去做。分析之前只选择没有缺失值的 case (行)就行了。

谢谢兄弟,select case好象只对数字型变量有效,对字符型变量不行的?

12
ttewwcqu 发表于 2009-9-22 09:54:59
可以。
比如,变量为 var1, 选择值为 a 的 case :

USE ALL.
COMPUTE filter_$=(var1="a").
VARIABLE LABEL filter_$ 'var1="a" (FILTER)'.
VALUE LABELS filter_$  0 'Not Selected' 1 'Selected'.
FORMAT filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE .

用菜单选择也很方便的。

13
eveningbmu 发表于 2009-9-22 10:31:36
可以不用select case命令,而是将字符型变量的缺失值定义为' '。单引号里面是一个空格符

14
owwa 发表于 2009-9-25 08:44:01
ttewwcqu 发表于 2009-9-22 09:54
可以。
比如,变量为 var1, 选择值为 a 的 case :

USE ALL.
COMPUTE filter_$=(var1="a").
VARIABLE LABEL filter_$ 'var1="a" (FILTER)'.
VALUE LABELS filter_$  0 'Not Selected' 1 'Selected'.
FORMAT filter_$ (f1.0).
FILTER BY filter_$.
EXECUTE .

用菜单选择也很方便的。
谢谢兄弟的帮助,在我这里还是不行的。你可以用我图片中的形式试下,我就是要过滤掉第4、5和10行的数据,其实要过滤掉的是缺值,要选择(非缺值)的太多,没法Select case。

15
owwa 发表于 2009-9-25 08:44:47
eveningbmu 发表于 2009-9-22 10:31
可以不用select case命令,而是将字符型变量的缺失值定义为' '。单引号里面是一个空格符
此法行不通的,还是谢谢兄弟。

16
eveningbmu 发表于 2009-9-25 09:32:50
感觉不复杂呀,用下面的语句就可以把全部var0001有缺失的行都删掉

FILTER OFF.
USE ALL.
SELECT IF(var0001 ~ = ' '  ).
EXECUTE .

17
chenminzhi11205 发表于 2009-9-25 09:33:25
要不用个特殊的标记来表示缺失值?

18
owwa 发表于 2009-9-25 11:43:16
eveningbmu 发表于 2009-9-25 09:32
感觉不复杂呀,用下面的语句就可以把全部var0001有缺失的行都删掉

FILTER OFF.
USE ALL.
SELECT IF(var0001 ~ = ' '  ).
EXECUTE .
多谢兄弟的耐心帮助,还是不行的,我在新旧版本的spss中都试过。

老版本(11.5)提示错误,新版本(17.0)能运行,但没反应。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-1 08:13