如何计算R中的频率分布?

时间:2016-06-28 06:56:45

标签: r

实际上有许多功能我不知道用它来计算它

X = rnorm(100)

假设我有一个名为X的正态分布向量。我对bin中心一无所知,我想计算X的频率分布

作为输出,我希望有一个频率向量和一个向量作为bin中心 我认为计算bin中心可以像

那样完成
seq(min(mat[,1]),max(mat[,1]), by=0.01 ) 

你能指导我计算并获得所需的输出吗?我必须使用哪种功能?

示例数据

0.0014985
0.0087414
0.011304
0.011619
0.013201
0.017573
0.018898
0.022491
0.023001
0.024195
0.024434
0.024469
0.028859
0.031385
0.031647
0.032224
0.033946
0.036938
0.037867
0.037993
0.038889
0.038922
0.03894
0.041474
0.041804
0.044066
0.044082
0.044962
0.047495

使用Prism我得到以下(bin宽度为0.05)

bin centres   frequency
    0           1
    0.005       0
    0.01        3
    0.015       1
    0.02        3
    0.025       4
    0.03        4
    0.035       2
    0.04        7
    0.045       4
    0.05        0

1 个答案:

答案 0 :(得分:2)

您可以使用R的hist函数(参见?hist):

h <- hist(X);

bin中心由

给出
h$mids

和计数

h$counts

归一化计数就这么简单 h$counts / sum(h$counts)

您可以使用breaks参数指定bin(通过指定bin的数量,或直接指定bin)。

顺便说一下,使用R的cut和table函数可以实现相同的效果(参见?cut?table)。