主要内容

干净的混乱和丢失的数据表

这个例子展示了如何找到,清洁,和删除表行与缺失的数据。

加载示例数据

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

  • 空字符向量(”)

  • 句点(.)

  • NA

  • -99年

指定空值特征向量来治疗,使用“TreatAsMissing”名称-值对论点的readtable函数。(使用disp函数来显示所有21行,即使运行这个例子作为一个活脚本)。

T = readtable (“messy.csv”,“TreatAsMissing”,{“。”,“NA”});disp (T)
A B C D E ________ __________上_____ {‘afe1}{'是的'}3 3 {‘egh3}南{‘不’}7 7 {‘wth4}{'是的'}3 3 {‘atn2} 23{‘不’}23日23 {‘__arg1}{'是的'}5 5 34.6 {“jre3”}{'是的'}34.6 - 34.6 {‘wen9} 234{'是的'}234 234 {‘ple2}{‘不’}2 2 {‘dbo8}{‘不’}5 5 {‘oii4}{'是的'}5 245 {‘wnk3}{'是的'}245 245 {‘abk6} {0 x0 char} 563 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行和五个变量是一个表。“TreatAsMissing”只适用于数字列在文件,不能处理数值指定为文本,如“-99”

总结表

视图的数据类型,描述、单位、和其他描述性统计每个变量通过创建一个表总结使用总结函数。

总结(T)
变量:答:21 x1单元阵列特征向量B: 21 x1双重价值:最小-99平均14最大563 NumMissing 3 C: 21 x1单元阵列特征向量的D: 21 x1双重价值:-99分钟563 Max NumMissing 2 E中位数:21 x1双重价值:最小-99平均14最大563

当你导入的数据文件时,默认的是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”数值变量,B,D,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 34.6 {“jre3”}{'是的'}34.6 - 34.6 {‘wen9} 234{'是的'}234 234 {‘ple2}{‘不’}2 2 {‘dbo8}{‘不’}5 5 {‘oii4}{'是的'}5 245 {‘wnk3}{'是的'}245 245 {‘abk6} {0 x0 char} 563 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}{‘不’}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 34.6 {“jre3”}{'是的'}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行和五个变量。

组织数据

这样的行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 {‘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}{‘不’}22 22 22 {‘atn2}{‘不’}23日23日23 {‘bas8}{‘不’}23日23日23日{‘dbo8}{‘不’}5 5 5 {‘egh3}{‘不’}3 7 7 {‘pkn4}{‘不’}2 2 2 {‘ple2}{‘不’}2 2 2 {‘pnj5}{‘不’}463 463 463 {‘wnn3}{‘不’}6 6 6

另请参阅

||||||

相关的话题