【问题标题】:Replacing values with SPSS Modeler使用 SPSS Modeler 替换值
【发布时间】:2018-08-22 07:38:47
【问题描述】:

我目前正在尝试对我的数据集执行数据清理,该数据集包含来自在线超市的在线交易的 2K 记录。

在我的数据集中,存在一些数据质量问题 -

1) “?”在我的收入列中,如图所示

我可以知道如何在 IBM SPSS Modeler 中清理这些数据吗?我尝试使用“填充”节点来替换“?”但我不太确定在表达式生成器中写什么。如您所见,Income 由于带有“?”的记录而以字符串形式存储在 Filler 节点中。

是否有人知道如何替换/清理收入数据,因为我想使用数据审计准备节点将缺失值替换为收入列的平均值。但是,要我这样做,我需要删除“?”为了将收入类型更改为类型节点中的连续数据。

2) 我的 Cigg 列 (T/F) 缺失值

我不太确定如何将 Cigg 列的缺失值替换为布尔值。请问我应该如何为此替换数据?

谢谢。

【问题讨论】:

    标签: spss-modeler


    【解决方案1】:

    图片被我屏蔽了,但你可以试试:

    1) “?”在我的收入列中,如图所示: 使用语法类似于以下内容的派生节点:

    replace('?','',收入)

    语法将替换所有符号“?”对于''。

    2) 我的 Cigg 列 (T/F) 缺失值

    您想如何处理缺失值?您可以删除缺失值的行或使用一些技术来替换它们,但如果您有 2k 条记录,也许最好删除那些缺失的行。

    A) 要删除它们,请使用以下语法的过滤器节点:

    'variable' = '$null$' 并在对话框中选择选项丢弃。

    B) 替换缺失值:使用派生节点并编写类似于以下的语法:

    if variable = '$null$' then mean(variable) else variable endif (我在这里使用了平均值,但请尝试为您找到替换缺失的最佳选择)。

    上面的这些节点将创建新变量,您必须为它们选择一个新名称以及对话框中的变量类型。

    Ref from IBM for Derive Node

    希望对您有所帮助!

    【讨论】:

      【解决方案2】:

      1.) 您可以尝试在填充节点的情况下使用@FIELD = "?"

      2.) 这取决于您要对数据做什么,根据使用情况,最好忽略列,将其替换为默认值或忽略数据行。

      【讨论】:

        【解决方案3】:

        对于问号,你可以试试Variable = "?",或者在文本编辑器中读取符号,然后把它放到公式中。解决方法是逻辑排除,例如:条件替换 -> 非(变量 >= 0)-> 0

        对于空值,可以使用 Replace 部分的 Blanks and Nulls 按钮,也可以使用 Variable = undef(undef 是 Modeler 中的 Null 值)

        这是 Filler 节点中的所有逻辑。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2019-01-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多