我目前正在尝试对包含来自在线超市的在线交易的2K记录的数据集执行数据清理。
在我的数据集中,有一些数据质量问题-
1)“?”在我的“收入”列中,如图所示
我可以知道如何在IBM SPSS Modeler中清除此数据吗?我尝试使用“填充程序”节点替换“?”但是我不太确定在表达式生成器中写什么。如您所见,由于记录中带有“?”,因此收入以字符串形式存储在Filler节点中。
有没有人知道如何替换/清除收入数据,因为我想使用数据审计准备节点用收入列的平均值替换缺失的值。但是,对于我来说,我需要删除“?”以便在“类型”节点中将“收入”类型更改为连续数据。
2)我的Cigg列(T / F)缺少值
我不太确定如何替换Cigg列的缺失值作为布尔值。我可以知道该如何替换数据吗?
谢谢。
答案 0 :(得分:0)
图片被我屏蔽了,但是您可以尝试:
1)“?”在“收入”列中,如下所示: 使用派生节点,其语法类似于:
replace('?','',收入)
语法将替换所有符号'?' ”。
2)我的Cigg列(T / F)缺少值
您要如何处理缺少的值?您可以删除缺少值的行或使用某种技术替换它们,但是如果您有2k条记录,也许最好删除那些缺少的行。
A)为了删除它们,请使用具有以下语法的过滤器节点:
'variable'='$ null $',然后在对话框中选择丢弃选项。
B)要替换缺少的值:使用派生节点并编写类似于以下内容的语法:
如果变量='$ null $',则表示(变量)else变量endif (我在这里用的是平均数,但请尝试找到为您替换缺失的最佳选择)。
以上这些节点将创建新变量,您必须为它们选择一个新名称并在对话框中选择变量的类型。
希望对您有所帮助!
答案 1 :(得分:0)
1。)您可以在填充节点的情况下尝试使用@FIELD = "?"
。
2。)这取决于您要对数据执行的操作,具体取决于用法,最好是忽略该列,将其替换为默认值或忽略数据行。
答案 2 :(得分:0)
对于问号,您可以尝试Variable =“?”,或在文本编辑器中读取该符号,然后将其放在公式中。解决方法是逻辑排除,例如:条件替换 ->不(变量> = 0)-> 0
对于空值,可以使用“替换”部分上的“空白和空值”按钮,也可以使用Variable = undef(undef是Modeler中的Null值)
这是Filler节点中的所有逻辑。