Go back to the English version of the documentation适用于缺失值的函数
可用于缺失值的函数 (SPSS Modeler)
Last updated: 2024年10月07日
您可采用不同的方法来处理数据中的缺失值。 您可以选择使用 Data Refinery 或 SPSS Modeler 节点中提供的功能。
SPSS Modeler 中提供的功能
在 SPSS Modeler中,有几个函数用于处理缺失值。 在“选择”节点和“填充”节点中,经常会使用下列函数来废弃或填充缺失值:
count_nulls(LIST
@BLANK(FIELD
@NULL(FIELD
undef
可以将 @
函数与 @FIELD
函数一起使用,以识别一个或多个字段中是否存在空白值或空值。 存在空白值或空值时,可以简单地标记这些字段、以替换值填充这些字段,或者将其用于各种其他操作。
可以计算一列字段中的空值数量,如下所示:
count_nulls(['cardtenure' 'card2tenure' 'card3tenure'])
使用任何接受一列字段作为输入的函数时,可以使用特殊函数 @FIELDS_BETWEEN
和 @FIELDS_MATCHING
,如以下示例所示:
count_nulls(@FIELDS_MATCHING('card*'))
您可以使用 undef
函数以系统缺失值 (显示为 $null$) 填充字段。 例如,要替换任何数字值,可以使用条件语句,例如:
if not(Age > 17) or not(Age < 66) then undef else Age endif
这会将不在范围内的任何值替换为系统缺失值 (显示为 $null$)。 通过使用 not()
函数,可以捕获所有其他数字值,包括任何负数。
关于废弃记录的注意事项: 使用 "选择" 节点废弃记录时,请注意语法使用三值逻辑并自动在 SELECT 语句中包含空值。 要将空值(系统缺失值)排除在 SELECT 表达式之外,必须在表达式中使用
and not
明确指出此意图。 例如,要选择并包括处方药类型为
Drug C
的所有记录,您可使用以下 SELECT 语句:Drug = 'drugC' and not(@NULL(Drug))
在 Data Refinery 中可用的函数
您还可以使用 Data Refinery 来处理缺失值。 请参阅以下信息。