主要内容

清除表中混乱和丢失的数据

这个例子展示了如何查找、清理和删除含有缺失数据的表行。

加载示例数据

从逗号分隔的文本文件中加载示例数据,messy.csv.该文件包含许多不同的缺失数据指示器:

  • 空字符向量(")

  • 句点(.)

  • NA

  • -99年

要指定要作为空值处理的字符向量,请使用“TreatAsEmpty”的名称-值对参数readtable函数。(使用disp函数显示所有21行,即使在运行这个示例时也是如此。)

T = readtable (“messy.csv”“TreatAsEmpty”, {“。”“NA”});disp (T)
A B C D E  ________ ____ __________ ____ ____ {' afe1 '}{'是的'}3 3{‘egh3}南{‘不’}7 7{‘wth4}{'是的'}3 3{‘atn2} 23{‘不’}23日23{‘__arg1}{'是的'}5 5{‘jre3} 34.6{'是的'}34.6 - 34.6{‘wen9} 234{'是的'}234 234{‘ple2}{‘不’}2 2{‘dbo8}{‘不’}5 5{‘oii4}{'是的'}5 245{‘wnk3}{'是的'}245 245 563 {0 x0{“abk6”}char} 563 563{‘pnj5} 463{‘不’}463 463{‘wnn3}{‘不’}6 6{‘oks9} 23{'是的'}23日23{‘wba3}南{'是的'}南14{‘pkn4}{‘不’}2 2{‘adw3} 22{‘不’}22 22{‘poj2} -99{'是的'}-99 -99{‘bas8} 23{‘不’}23日23{‘gry5}南{'是的'}南21

T是一个包含21行和5个变量的表。“TreatAsEmpty”仅适用于文件中的数字列,不能处理指定为文本的数字值,例如“-99”

总结表

方法创建表摘要,查看每个变量的数据类型、描述、单元和其他描述性统计信息总结函数。

总结(T)
变量:A: 21x1 cell array of character vector B: 21x1 double Values: Min -99 Median 14 Max 563 NumMissing 3 C: 21x1 cell array of character vector D: 21x1 double Values: Min -99 Median 7 Max 563 NumMissing 2 E: 21x1 double Values: Min -99 Median 14 Max 563 NumMissing 3

从文件导入数据时,默认值为readtable读取任何具有非数值元素的变量作为字符向量的单元数组。

查找缺少值的行

显示表中行的子集,T,至少有一个缺失值。

TF = ismissing (T) {''“。”“NA”南-99});rowsWithMissing = T(任何(TF, 2):);disp (rowsWithMissing)
A B C D E  ________ ___ __________ ___ ___ {' egh3}南{‘不’}7 563{“abk6”}{0 x0 char} 563 563{‘wba3}南{'是的'}南-99{‘poj2}{'是的'}-99 -99{‘gry5}南{'是的'}南21

readtable取代“。”“NA”在数值变量中,BD,E

替换缺失值指标

清除数据,以便代码所指示的缺失值-99年具有标准的MATLAB®数值缺失值指示器,

T = standardizeMissing (T, -99);disp (T)
A B C D E  ________ ____ __________ ____ ____ {' afe1 '}{'是的'}3 3{‘egh3}南{‘不’}7 7{‘wth4}{'是的'}3 3{‘atn2} 23{‘不’}23日23{‘__arg1}{'是的'}5 5{‘jre3} 34.6{'是的'}34.6 - 34.6{‘wen9} 234{'是的'}234 234{‘ple2}{‘不’}2 2{‘dbo8}{‘不’}5 5{‘oii4}{'是的'}5 245{‘wnk3}{'是的'}245 245 563 {0 x0{“abk6”}char} 563 563{‘pnj5} 463{‘不’}463 463{‘wnn3}{‘不’}6 6{‘oks9} 23{'是的'}23日23{‘wba3}南{'是的'}南14{‘pkn4}{‘不’}2 2{‘adw3} 22{‘不’}22 22{‘poj2}南{'是的'}南南{‘bas8} 23{‘不’}23日23{‘gry5}南{'是的'}南21

standardizeMissing的三个实例-99年

创建一个新表,T2,并将缺少的值替换为表中以前行的值。fillmissing提供填充缺失值的多种方法。

T2 = fillmissing (T)“以前”);disp (T2)
A B C D E  ________ ____ _______ ____ ____ {' afe1 '}{'是的'}3 3{‘egh3} 3{‘不’}7 7{‘wth4}{'是的'}3 3{‘atn2} 23{‘不’}23日23{‘__arg1}{'是的'}5 5{‘jre3} 34.6{'是的'}34.6 - 34.6{‘wen9} 234{'是的'}234 234{‘ple2}{‘不’}2 2{‘dbo8}{‘不’}5 5{‘oii4}{'是的'}5 245{‘wnk3}{'是的'}245 245{‘abk6} 563{'是的'}563 563{‘pnj5} 463{‘不’}463 463{‘wnn3}{‘不’}6 6{‘oks9} 23{'是的'}23日23{‘wba3} 23{'是的'}23 14{‘pkn4}{‘不’}2 2{‘adw3} 22{‘不’}22 22{‘poj2}{'是的'}22 22{‘bas8} 23{‘不’}23日23{‘gry5} 23{'是的'}23日21

删除缺少值的行

创建一个新表,T3,它只包含来自的行T没有缺失值。T3只有16行。

T3 = rmmissing (T);disp (T3)
A B C D E  ________ ____ _______ ____ ____ {' afe1 '}{'是的'}3 3{‘wth4}{'是的'}3 3{‘atn2} 23{‘不’}23日23{‘__arg1}{'是的'}5 5{‘jre3} 34.6{'是的'}34.6 - 34.6{‘wen9} 234{'是的'}234 234{‘ple2}{‘不’}2 2{‘dbo8}{‘不’}5 5{‘oii4}{'是的'}5 245{‘wnk3}{'是的'}245 245{‘pnj5} 463{‘不’}463 463{‘wnn3}{‘不’}6 6{' oks9} 23{'是的'}23日23{‘pkn4}{‘不’}2 2{‘adw3} 22{‘不’}22 22{‘bas8} 23{‘不’}23 23

T3包含16行和5个变量。

组织数据

T3按降序排列C,然后按升序排序一个

T3 = sortrows (T2, {“C”“一个”}, {“下”“提升”});disp (T3)
A B C D E  ________ ____ _______ ____ ____ {' abk6} 563{'是的'}563 563{‘afe1}{'是的'}3 3{‘__arg1}{'是的'}5 5{‘gry5} 23{'是的'}23 21 34.6{‘jre3}{'是的'}34.6 - 34.6{‘oii4}{'是的'}5 5{‘oks9} 23{'是的'}23日23{‘poj2} 22{'是的'}22 22{‘wba3} 23{'是的'}23 234{‘wen9}{'是的'}234 234{‘wnk3} 245{'是的'}245 245{‘wth4} 3{'是的'}3 3{‘adw3} 22{‘不’}22 22{‘atn2} 23{‘不’}23日23日{‘bas8} 23{‘不’}23日23{‘dbo8}{‘不’}5 5{‘egh3} 3{‘不’}7 7{‘pkn4}{‘不’}2 2{‘ple2}{‘不’}2 463{‘pnj5}{‘不’}463 463{‘wnn3}{‘不’}6 6

C,行首先被分组“是的”,紧随其后的是“不”.然后在一个,行按字母顺序排列。

重新排序表,以便一个C是紧挨着的。

T3 = T3 (:, {“一个”“C”“B”' D '“E”});disp (T3)
一个C B D E  ________ _______ ____ ____ ____ {' abk6’}{'是的'}563 563 563{‘afe1}{'是的'}3 3 3{‘__arg1}{'是的'}5 5 5{‘gry5}{'是的'}23日23日21{‘jre3}{'是的'}34.6 34.6 34.6{‘oii4}{'是的'}5 5 5{‘oks9}{'是的'}23 23日23{‘poj2}{'是的'}22 22 22{‘wba3}{'是的'}23日23日14{‘wen9}{'是的'}234 234 234{‘wnk3}{'是的'}245 245 245{‘wth4}{'是的'}3 3 3 {'adw3'} {'no' } 22 22 22 {'atn2'} {'no' } 23 23 23 {'bas8'} {'no' } 23 23 23 {'dbo8'} {'no' } 5 5 5 {'egh3'} {'no' } 3 7 7 {'pkn4'} {'no' } 2 2 2 {'ple2'} {'no' } 2 2 2 {'pnj5'} {'no' } 463 463 463 {'wnn3'} {'no' } 6 6 6

另请参阅

||||||

相关的话题