高阵列的直方图
此示例显示了如何使用直方图
和直方图2
分析和可视化高阵列中包含的数据。
创建高高的桌子
使用AirlinesMall.CSV
数据集。对待'na'
值为缺少数据,以便将它们替换为南
值。选择要使用的变量子集。将数据存储转换为高高的桌子。
varnames = {'arrdelay',,,,'depdelay',,,,'年',,,,'月'};ds = tabulartextdatastore('airlinesmall.csv',,,,“治疗”,,,,'na',,,,...“选择的variablenames”,varnames);T =高(DS)
t = mx4高表格rardelay depdelay年度____________ ________ ___________________________________________________________1 1987 10 187 10 1987 10 8 1 1987 10 8 1 1987 10 13 12 1987 10 4 -1 1987 10 59 63 63 63 1987 10 3 -2 1987 10 11 -1 1987 1987 10 :::::::: :::::::
到达延迟的情节直方图
绘制直方图arrdelay
可变以检查到达延迟的频率分布。
h =直方图(t.arrdelay);
使用本地MATLAB会话评估高高的表达: - 通过2:完成0.87秒-Pass 2 of 2:在2.2秒内完成的0.71秒评估完成
标题(“飞行到达延误,1987年至2008年”)xlabel(“到达延迟(分钟)”)ylabel('频率')
到达延迟最常接近0,因此这些值占主导地位,使得难以查看其他细节。
调整直方图的箱限
限制直方图bin限制仅绘制-50至150分钟之间的到达延迟。从高阵列创建直方图对象后,您无法更改任何需要重新计算箱的属性,包括binwidth
和二手车
。另外,您不能使用莫尔宾斯
或者更少的人
调整垃圾箱的数量。在这些情况下,使用直方图
从高阵列中的原始数据重建直方图。
图直方图(T.arrdelay,“二手限制”,[ - 50,150])
使用本地MATLAB会话评估高高的表达: - 通过2:完成0.51秒 - 第2秒:完成在0.37秒的评估中,以1.3秒完成
标题(“飞行到达延误在-50到150分钟之间,1987年至2008年')xlabel(“到达延迟(分钟)”)ylabel('频率')
从这个情节看来,长期延误可能比最初预期的更普遍。要进一步研究,请找到一小时或更长的到达延迟的概率。
延迟一小时或更长的概率
原始直方图返回一个对象H
其中包含bin值值
财产和垃圾箱边缘薄荷
财产。您可以使用这些属性执行内存计算。
确定哪个垃圾箱包含一小时(60分钟)或更长时间的到达延迟。从逻辑索引向量上删除最后一个bin边缘,以使其与bin值向量相同。
idx = h.binedges> = 60;idx(end)= [];
利用IDX
检索与每个选定的箱相关的值。将bin值添加在一起,除以样品总数,然后乘以100,以确定延迟的总概率大于或等于一小时。由于从原始数据集计算样本总数,请使用收集
要明确评估计算并返回内存标量。
n = numel(t.arrdelay);p =收集(sum(h.values(idx))*100/n)
p = 4.4809
总体而言,到达一小时或更长时间到达的几率约为4.5%。
按月绘制延迟的双变量直方图
绘制到达延迟的双变量直方图,该延迟为60分钟或更长时间。该图研究了季节性如何影响到达延迟。
图H2 =直方图(T. month,T.Arrdelay,[12 50],,'ybinlimits',[60 1100],...'正常化',,,,'可能性',,,,“ faceColor”,,,,'平坦的');
使用本地MATLAB会话评估高表情: - 通过1:完成的0.71秒评估完成为0.87秒完成,使用局部MATLAB会话评估高高的表达: - Pass 1 of 1:在0.79 sec的评估中完成,在0.86秒完成
标题(“到达的概率延迟1小时或更大(按月)”)xlabel(“月(1-12)”)ylabel(“到达延迟(分钟)”)Zlabel('可能性')Xticks(1:12)查看(-126,23)
按月延迟统计
使用双变量直方图对象计算每个月到达延迟一小时或更长的概率,以及每个月的平均到达延迟。将结果放在带有变量的表格中p
包含概率信息和变量伙计
包含平均到达延迟。
月名= {'扬',,,,'feb',,,,'MAR',,,,'apr',,,,'可能',,,,'jun',,,,...'七月',,,,'八月',,,,'九月',,,,'oct',,,,'nov',,,,'dec'}';g = FindGroup(t.month);m = splitapply(@(x)平均值(x,'omitnan'),t.arrdelay,g);delaybymonth =表(月名,sum(h2.values,2)*100,收集(m),,...'variablenames',{'月',,,,'P',,,,``})
使用本地MATLAB会话评估高高的表达: - 通过2:Of 2:在0.41秒完成 - 第2秒:完成在2秒内完成的0.99秒评估完成
delaybymonth =12×3桌一个月的p固定_______ ______ ______ __________ {'jan'} 9.6497 8.5954 {'feb'} 7.7058 7.3275 {'Mar'} 9.0543 7.5536 7.5536 {'apr'}Jul'} 10.228 8.7797 {'Aug'} 8.5989 7.4522 {'sep'} 5.4116 3.6308 {'oct'} 6.042 4.6059 {'nov'} 6.9002 5.2835
结果表明,12月假期的航班有11.4%的延迟时间超过一个小时,但平均延迟了10.5分钟。紧随其后的是六月和七月的夏季,大约有10%的机会被延迟一个小时或更长时间,平均延迟约为9或10分钟。