主要内容

histcounts

柱状图箱计数

描述

例子

N边缘= histcounts(X分区的X值放入容器中,并返回每个容器中的计数以及容器边。的histcounts函数使用自动分箱算法,该算法返回具有统一宽度的分箱,选择该宽度以覆盖中的元素范围X并揭示分布的基本形状。

例子

N边缘= histcounts(Xnbins使用标量指定的多个箱,nbins

例子

N边缘= histcounts(X边缘排序X放入由向量指定边的容器中,边缘.的值X(我)kTh bin if边(k)X(我)<边(k + 1).最后一个箱子还包括右箱子边,因此它包含X(我)如果边(end-1)X(我)边(结束)

例子

N边缘箱子= histcounts(___也返回一个索引数组,箱子,使用前面的任何语法。箱子数组的大小是否与X哪些元素是对应元素的bin索引X.元素的个数kTh bin是nnz(本= = k),等于N (k)

例子

N= histcounts (C,在那里C是一个分类数组,返回一个向量,N,表示元素的个数C谁的值等于每一个C的类别。N每个类别有一个元素C

N= histcounts (C类别只计算入的元素C的值等于?指定的类别的子集类别

例子

N类别= histcounts(___还返回与中的每个计数对应的类别N对分类数组使用前面的语法之一。

例子

___= histcounts(___名称,值使用一个或多个指定的其他选项名称,值使用以前语法中的任何输入或输出参数组合对参数。例如,您可以指定“BinWidth”和一个标量,用于调整数值数据的容器宽度。对于分类数据,您可以指定“归一化”,要么“数”“countdensity”“概率”“pdf”“cumcount”,或“提供”

例子

全部折叠

将100个随机值分配到箱子中。histcounts自动选择适当的数据仓宽度来显示数据的底层分布。

X = randn(100,1);[N,edges] = histcounts(X)
N =1×72 17 28 32 16 32
边缘=1×83 -2 -1 0 1 2 3 4

将10个数字放入6个等距的箱子中。

X = [2 3 5 7 11 13 17 19 23 29];[N,edges] = histcounts(X,6)
N =1×62 2 2 2 1 1
边缘=1×70 4.9000 9.8000 14.7000 19.6000 24.5000 29.4000

将1000个随机数字放入箱子中。用一个向量定义bin边,其中第一个元素是第一个bin的左边,最后一个元素是最后一个bin的右边。

X = randn(1000,1);边= [-5 -4 -2 -1 -0.5 0 0.5 1 2 4 5];N = histcounts(X,edges)
N =1×100 24 149 142 195 200 154 111 25 0

将所有小于100的质数分装到箱子里。指定“归一化”作为“概率”将箱子计数归一化,这样总和(N)1.也就是说,每个箱数表示观测结果落在该箱中的概率。

X =质数(100);[N,edges] = histcounts(X,“归一化”“概率”
N =1×40.4000 0.2800 0.2800 0.0400
边缘=1×50 30 60 90 120

将100个-5到5之间的随机整数分配到bin中,并指定“BinMethod”作为“整数”使用以整数为中心的单位宽度的容器。为指定第三个输出histcounts返回表示数据的bin索引的向量。

X = randi([-5,5],100,1);[N,edges,bin] = histcounts(X,“BinMethod”“整数”);

通过计算该数字的出现次数,找到第三个容器的容器计数3.在bin索引向量中,箱子.结果与N (3)

Count = nnz(bin==3)
计数= 8

创建一个表示投票的分类向量。向量中的类别为“是的”“不”,或“决定”

A = [0 0 1 1 1 0 0 0 0 0 NaN 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 1 1];C = categorical(A,[1 0 NaN],{“是的”“不”“决定”})
C =1 x27分类第1至9列否否是是是否否否第10至16列未决定未决定是否否否是第17至25列否是否是否否否是是26至27列是是

确定归入每个类别的元素的数量。

[N,类别]= histcounts(C)
N =1×311 14 2
类别=1 x3单元格{'是'}{'否'}{'未决定'}

输入参数

全部折叠

要在容器中分配的数据,指定为向量、矩阵或多维数组。如果X不是向量吗histcounts把它看成一个列向量,X (:)

histcounts忽略所有值。同样的,histcounts忽略了而且值,除非bin边显式指定作为bin边。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

分类数据,指定为分类数组。histcounts忽略未定义的分类值。

数据类型:分类

箱数,指定为正整数。如果您没有指定nbins,然后histcounts中的值自动计算要使用多少个箱子X

例子:[N,edges] = histcounts(X,15)使用15个垃圾箱。

Bin边,指定为向量。边(1)是第一个箱子的左边,和边(结束)是最后一个箱子的右边缘。

对于datetime和duration数据,边缘必须是单调递增的datetime或duration向量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑|datetime|持续时间

包含在count中的类别,指定为字符串向量,字符向量的单元格向量,模式标量,或分类向量。默认情况下,histcounts为分类数组中的每个类别使用一个binC.使用类别改为指定类别的唯一子集。

例子:h = histcounts(C,["Large","Small"])只统计类别中的类别数据而且

例子:h = histcounts(C,"Y" +通配符模式)统计名称以字母开头的所有类别中的类别数据Y

数据类型:字符串|细胞|模式|分类

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:[N,edges] = histcounts(X,'归一化','概率')使容器计数正常化N,以致于总和(N)是1。

Bin限制,指定为两个元素向量,[bmin, bmax].此选项只收纳中的值X介于两者之间bmin而且bmax包容;也就是说,X(X>=bmin & X<=bmax)

此选项不适用于分类数据。

例子:[N,edges] = histcounts(X,'BinLimits',[1,10])中的值只装入X介于两者之间1而且10包容性。

分箱算法,指定为本表中的值之一。

价值

描述

“汽车”

默认的“汽车”算法选择一个仓宽来覆盖数据范围,并揭示底层分布的形状。

“斯科特。”

如果数据接近正态分布,Scott规则是最优的,但也适用于大多数其他分布。它使用的bin宽度为3.5 *性病(X(:)) *元素个数(X) ^ (1/3)

“fd”

Freedman-Diaconis规则对数据中的异常值不太敏感,可能更适合于具有重尾分布的数据。它使用的bin宽度为2 *差(X(:)) *元素个数(X) ^ (1/3),在那里位差四分位范围是X

“整数”

整数规则对于整数数据非常有用,因为它为每个整数创建了一个bin。它使用的bin宽度为1,并将bin边放在整数之间的中间位置。为防止意外创建过多的容器,限制65536个容器(216)可以使用此规则创建。如果数据范围大于65536,则使用更宽的容器。

请注意

“整数”不支持日期时间或持金宝app续时间数据。

斯特奇斯的

斯特奇斯法则是一个简单的法则,因其简单而受欢迎。它选择了箱子的数量(1 + log2(数字(X)))

“√”

平方根规则是另一个在其他软件包中广泛使用的简单规则。它选择了箱子的数量装天花板(√元素个数(X)))

histcounts并不总是使用这些精确的公式来选择箱子的数量。有时,箱子的数量稍作调整,以便箱子的边缘落在“漂亮”的数字上。

对于datetime数据,bin方法可以是以下时间单位之一:

“第二” “月”
“一分钟” “季”
“小时” “年”
“天” “十年”
“周” “世纪”

对于持续时间数据,bin方法可以是以下时间单位之一:

“第二” “天”
“一分钟” “年”
“小时”

如果你指定BinMethod然后使用datetime或duration数据histcounts最多可使用65,536个箱子(或216).如果指定的bin持续时间需要更多的bin,则histcounts使用与最大箱数对应的较大箱宽。

此选项不适用于分类数据。

例子:[N,edges] = histcounts(X,'BinMethod','integers')使用以整数为中心的容器。

容器的宽度,指定为标量。如果你指定BinWidth,然后histcounts最多可使用65,536个箱子(或216).如果指定的容器宽度需要更多的容器,则histcounts使用与最大箱数对应的较大箱宽。

对于datetime和duration数据,的值“BinWidth”可以是标量持续时间或日历持续时间。

此选项不适用于分类数据。

例子:[N,edges] = histcounts(X,'BinWidth',5)使用宽度为5的容器。

容器的边,指定为数值向量。第一个vector元素指定第一个bin的左边缘。最后一个元素指定最后一个bin的右边。如果不指定bin边,则histcounts自动确定箱子边的位置。

此选项不适用于分类数据。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|逻辑

归一化类型,指定为本表中的值之一。对于每个箱子

  • v 是bin值。

  • c 是容器中元素的数量。

  • w 是箱子的宽度。

  • N 输入数据中的元素数。如果数据包含。则此值可以大于已打包数据NaT,或<定义>值,或者某些数据位于bin限制之外。

价值 本值 笔记
“数”(默认)

v c

  • 计数或观察频率。

  • bin值的和小于或等于元素个数(X).总和小于元素个数(X)只有当一些输入数据不包含在箱子中时才会这样做。

  • 对于分类数据,bin值的和是其中之一元素个数(X)sum (ismember (X(:),类别))

“countdensity”

v c w

  • 计数或频率按仓宽缩放。

  • 对于分类数据,这与“数”

请注意

“countdensity”不支持日期时间或持金宝app续时间数据。

“cumcount”

v j 1 c j

  • 累计计数。每个bin值是该bin和之前所有bin中观测值的累积数。

  • 最后一个bin的值小于等于元素个数(X)

  • 对于分类数据,最后一个bin的值小于或等于元素个数(X)sum (ismember (X(:),类别))

“概率”

v c N

  • 相对概率。

  • bin值的和小于或等于1

“pdf”

v c N w

  • 概率密度函数估计。

  • 对于分类数据,这与“概率”

请注意

“pdf”不支持日期时间或持金宝app续时间数据。

“提供”

v j 1 c j N

  • 累积密度函数估计。

  • N(结束)小于或等于1

例子:[N,edges] = histcounts(X,'Normalization','pdf')使用概率密度函数估计对数据进行分类。

箱数,指定为正整数。如果您没有指定NumBins,然后histcounts根据输入数据自动计算要使用多少个箱子。

此选项不适用于分类数据。

输出参数

全部折叠

Bin计数,作为行向量返回。

Bin边,作为向量返回。边(1)是第一个箱子的左边,和边(结束)是最后一个箱子的右边缘。

Bin索引,作为相同大小的数组返回X.中的每个元素箱子描述中包含相应元素的编号binX

值为0箱子表示不属于任何容器的元素(例如值)。

计数中包含的类别,作为字符向量的单元格向量返回。类别中包含类别C对应于每个计数N

提示

  • 的行为histcounts是类似的离散化函数。使用histcounts求每个箱子中元素的数量。另一方面,使用离散化找出每个元素属于哪个bin(不计算)。

扩展功能

版本历史

在R2014b中引入