设为首页收藏本站

EPS数据狗论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 5185|回复: 0

缺失值(Missing Values)

[复制链接]

4

主题

47

金钱

72

积分

新手用户

发表于 2018-9-28 13:09:37 | 显示全部楼层 |阅读模式

缺失值是指未储存数据的观测值。缺失值有三种类型:


  • 数值型缺失值;
  • 字符型缺失值;
  • 特殊数值型缺失值:一种特殊的数值型缺失值,用户可以用字母 A-Z 和下划线表示不同类型的缺失值。

在缺省状态下,SAS 以一个点(.)显示数值型缺失值,以空格显示字符型缺失值。有时希望区别缺失值产生的不同情况,例如,调查数据中,一个缺失值是由于被调查人拒绝回答产生的,还是因答案无效产生的,用MISSING 语句可以规定一些特殊符号来表示不同情况下产生的缺失值,这种缺失值称为特殊缺失值(参见MISSING 语句)。表示特殊缺失值的字母可以大写或小写字母,但显示时是大写字母和下划线,引用特殊缺失值以一个点(.)开头,否则SAS 系统会把它当作一个变量。

缺失值的描述
缺失值类型描述解释
数值型.一个点
字符型‘ ’单引号括起来的一个空格
特殊型.字母一个点紧跟一个字母,例如,.B
._一个点紧跟下划线

1、缺失值是如何产生

(1)将变量值自动设为缺失值。创建一个变量后,读取原始数据时,如果未对某个观测进行赋值,则这个观测为缺失值,直到读入一个值赋予这个变量。

【例】未对变量进行赋值前,SAS 将变量值保持为自动缺失值。当x=1 时,通过If-Then语句给变量y 的第一个观测

  1. DATA SASTJFX48_5;
  2. INPUT x;
  3. IF x=1 THEN y=2;
  4. DATALINES;
  5. 1
  6. 0
  7. ;
  8. RUN;
复制代码

但在用RETAIN 语句、SUM()函数、FGET()函数定义的变量、在临时数组中的变量、用FILE或INFILE 语句创建的变量、用ARRAY 语句初始化之后的变量、自动变量等一些情况除外。

(2)用户自定义产生缺失值。用INPUT 语句以列方式读入数据时,缺失的数据用空格表示,以自由方式读入数据时,缺失的数据用“.”表示。

【例】在读取数据流数据时产生缺失值。下面的程序中,由于指定在1 到2 列读取变量x 的值,但第2 个观测的1-2 列为空白,所以读取的值为缺失值;读取变量y 的第3 个观测值时是一个点,所以读取的值也为缺失值。

  1. DATA SASTJFX48_6;
  2. INPUT x 1-2 y $ ;
  3. DATALINES;
  4. 1 a
  5. b
  6. 3 .
  7. ;
  8. RUN;
  9. PROC PRINT;
  10. RUN;
复制代码

用PRINT 过程显示数据集时,变量x 的第2 个观测值是数字型缺失值,显示为一个点;变量y 的第3 个观测值是字符型缺失值,显示为空格。输出结果中显示数据集如下:


Obs
x
y
1
1
a
2
.
b
3
3

另外,用赋值语句也可以产生缺失值,例如,“IF test>100 | test<0 THEN test=.”,如果test 大于100 或小于0,则test 为缺失值。

(3)SAS 系统产生缺失值。

①在算术运算中产生缺失值。如果使用缺失值进行算术运算,则运算结果也为缺失值,如果这个结果又用在另一个运算中,结果也为缺失值,这种情况称为缺失值的扩散,如果想要阻止缺失值的扩散,可以在计算中使用SUM()等算术函数,这些函数进行运算时会忽略缺失值。

②非法的操作。当执行一个非法操作,例如,以0 作为除数或取0 的对数时,SAS 在日志窗口显示提示(NOTE)信息,并将结果设置为缺失值。

③字符与数字非法的转换。如果字符型变量或常量用于算术运算,SAS 会尝试将字符型值转换为数字型值,如果这时字符型值含有非数值信息,则SAS 将结果设置为缺失值。例如,表达式y=‘x’+1,运算后SAS 无法自动将字符型常量‘x’转换为数值,则y 的结果值为缺失值;表达式y=‘1’+1,运算后SAS 将字符型常量‘1’转换为数值1,则y 的结果值为2。

2、缺失值的次序

在数值型变量中,缺失值比任何数字都小,并且缺失值之间也可以比较大小。

数值型变量的次序
次 序符 号描 述
._点加下划线
.
.A-.Z特殊缺失值,.A
-n负数
0
+n正数

在字符型变量中,缺失值小于任何可显示的字符值,但大于不能显示的字符(如计算机的控制字符、被当作字符型变量错误读取的二进制数等),因此,在对字符型变量排序时,空格(字符型缺失值显示为空格)因为可能有不能显示的字符存在,而不一定排在首位,但一定排在可显示字符的前面。

本帖被以下淘专辑推荐:

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

客服中心
关闭
在线时间:
周一~周五
8:30-17:30
QQ群:
653541906
联系电话:
010-85786021-8017
在线咨询
客服中心

意见反馈|网站地图|手机版|小黑屋|EPS数据狗论坛 ( 京ICP备09019565号-3 )   

Powered by BFIT! X3.4

© 2008-2028 BFIT Inc.

快速回复 返回顶部 返回列表