gpt4 book ai didi

R 为什么 nclass.FD 返回的 bin 数量与 hist 函数不同?

转载 作者:行者123 更新时间:2023-12-01 13:17:17 25 4
gpt4 key购买 nike

为什么 nclass.FD 产生的 bin 数量与 hist 不同?

nclass.FD 给了我 354 个 bin。

set.seed(1)
x <- rnorm(10^6)
nclass.FD(x)

hist另一方面给了我 478 个 bin。

length(hist(x, breaks = "FD", plot = FALSE)$counts)

手册上说 breaks = "FD" 表示 nclass.FD 用于直方图。

Other names for which algorithms are supplied are "Scott" and "FD" / "Freedman-Diaconis" (with corresponding functions nclass.scott and class.FD).

那么,为什么我得到不同数量的箱子?

最佳答案

因此,如果您查看 ?histbreaks 下的文本,您会看到:

In the last three cases the number is a suggestion only; as the breakpoints will be set to pretty values, the number is limited to 1e6 (with a warning if it was larger).

breaks="FD" 是最后提到的三个案例之一。

如果你只是这样做:

y<-hist(x, breaks = "FD", plot = FALSE)
pretty(y$breaks)

你得到的休息是:

 -6 -4 -2  0  2  4  6

这不是 hist 使用的。

如果您尝试使用 pretty() 的各种选项,您会发现您得到 97 个中断:

 pretty(y$breaks, n=136) 
[1] -4.9 -4.8 -4.7 -4.6 -4.5 -4.4 -4.3 -4.2 -4.1 -4.0 -3.9 -3.8 -3.7 -3.6 -3.5 -3.4 -3.3 -3.2 -3.1
[20] -3.0 -2.9 -2.8 -2.7 -2.6 -2.5 -2.4 -2.3 -2.2 -2.1 -2.0 -1.9 -1.8 -1.7 -1.6 -1.5 -1.4 -1.3 -1.2
[39] -1.1 -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7
[58] 0.8 0.9 1.0 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 2.0 2.1 2.2 2.3 2.4 2.5 2.6
[77] 2.7 2.8 2.9 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4.0 4.1 4.2 4.3 4.4 4.5
[96] 4.6 4.7

如果您对 n 使用 137 到 341 之间的任何数字,您将获得以下 193 次中断:

pretty(y$breaks, n=137)
[1] -4.90 -4.85 -4.80 -4.75 -4.70 -4.65 -4.60 -4.55 -4.50 -4.45 -4.40 -4.35 -4.30 -4.25 -4.20 -4.15
[17] -4.10 -4.05 -4.00 -3.95 -3.90 -3.85 -3.80 -3.75 -3.70 -3.65 -3.60 -3.55 -3.50 -3.45 -3.40 -3.35
[33] -3.30 -3.25 -3.20 -3.15 -3.10 -3.05 -3.00 -2.95 -2.90 -2.85 -2.80 -2.75 -2.70 -2.65 -2.60 -2.55
[49] -2.50 -2.45 -2.40 -2.35 -2.30 -2.25 -2.20 -2.15 -2.10 -2.05 -2.00 -1.95 -1.90 -1.85 -1.80 -1.75
[65] -1.70 -1.65 -1.60 -1.55 -1.50 -1.45 -1.40 -1.35 -1.30 -1.25 -1.20 -1.15 -1.10 -1.05 -1.00 -0.95
[81] -0.90 -0.85 -0.80 -0.75 -0.70 -0.65 -0.60 -0.55 -0.50 -0.45 -0.40 -0.35 -0.30 -0.25 -0.20 -0.15
[97] -0.10 -0.05 0.00 0.05 0.10 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.50 0.55 0.60 0.65
[113] 0.70 0.75 0.80 0.85 0.90 0.95 1.00 1.05 1.10 1.15 1.20 1.25 1.30 1.35 1.40 1.45
[129] 1.50 1.55 1.60 1.65 1.70 1.75 1.80 1.85 1.90 1.95 2.00 2.05 2.10 2.15 2.20 2.25
[145] 2.30 2.35 2.40 2.45 2.50 2.55 2.60 2.65 2.70 2.75 2.80 2.85 2.90 2.95 3.00 3.05
[161] 3.10 3.15 3.20 3.25 3.30 3.35 3.40 3.45 3.50 3.55 3.60 3.65 3.70 3.75 3.80 3.85
[177] 3.90 3.95 4.00 4.05 4.10 4.15 4.20 4.25 4.30 4.35 4.40 4.45 4.50 4.55 4.60 4.65
[193] 4.70

在 342 处,您得到 hist 正在使用的 479 个中断(=478 个分箱);

pretty(y$breaks, n=342)
[1] -4.90 -4.88 -4.86 -4.84 -4.82 -4.80 -4.78 -4.76 -4.74 -4.72 -4.70 -4.68 -4.66 -4.64 -4.62 -4.60
[17] -4.58 -4.56 -4.54 -4.52 -4.50 -4.48 -4.46 -4.44 -4.42 -4.40 -4.38 -4.36 -4.34 -4.32 -4.30 -4.28
[33] -4.26 -4.24 -4.22 -4.20 -4.18 -4.16 -4.14 -4.12 -4.10 -4.08 -4.06 -4.04 -4.02 -4.00 -3.98 -3.96
[49] -3.94 -3.92 -3.90 -3.88 -3.86 -3.84 -3.82 -3.80 -3.78 -3.76 -3.74 -3.72 -3.70 -3.68 -3.66 -3.64
[65] -3.62 -3.60 -3.58 -3.56 -3.54 -3.52 -3.50 -3.48 -3.46 -3.44 -3.42 -3.40 -3.38 -3.36 -3.34 -3.32
[81] -3.30 -3.28 -3.26 -3.24 -3.22 -3.20 -3.18 -3.16 -3.14 -3.12 -3.10 -3.08 -3.06 -3.04 -3.02 -3.00
[97] -2.98 -2.96 -2.94 -2.92 -2.90 -2.88 -2.86 -2.84 -2.82 -2.80 -2.78 -2.76 -2.74 -2.72 -2.70 -2.68
[113] -2.66 -2.64 -2.62 -2.60 -2.58 -2.56 -2.54 -2.52 -2.50 -2.48 -2.46 -2.44 -2.42 -2.40 -2.38 -2.36
[129] -2.34 -2.32 -2.30 -2.28 -2.26 -2.24 -2.22 -2.20 -2.18 -2.16 -2.14 -2.12 -2.10 -2.08 -2.06 -2.04
[145] -2.02 -2.00 -1.98 -1.96 -1.94 -1.92 -1.90 -1.88 -1.86 -1.84 -1.82 -1.80 -1.78 -1.76 -1.74 -1.72
[161] -1.70 -1.68 -1.66 -1.64 -1.62 -1.60 -1.58 -1.56 -1.54 -1.52 -1.50 -1.48 -1.46 -1.44 -1.42 -1.40
[177] -1.38 -1.36 -1.34 -1.32 -1.30 -1.28 -1.26 -1.24 -1.22 -1.20 -1.18 -1.16 -1.14 -1.12 -1.10 -1.08
[193] -1.06 -1.04 -1.02 -1.00 -0.98 -0.96 -0.94 -0.92 -0.90 -0.88 -0.86 -0.84 -0.82 -0.80 -0.78 -0.76
[209] -0.74 -0.72 -0.70 -0.68 -0.66 -0.64 -0.62 -0.60 -0.58 -0.56 -0.54 -0.52 -0.50 -0.48 -0.46 -0.44
[225] -0.42 -0.40 -0.38 -0.36 -0.34 -0.32 -0.30 -0.28 -0.26 -0.24 -0.22 -0.20 -0.18 -0.16 -0.14 -0.12
[241] -0.10 -0.08 -0.06 -0.04 -0.02 0.00 0.02 0.04 0.06 0.08 0.10 0.12 0.14 0.16 0.18 0.20
[257] 0.22 0.24 0.26 0.28 0.30 0.32 0.34 0.36 0.38 0.40 0.42 0.44 0.46 0.48 0.50 0.52
[273] 0.54 0.56 0.58 0.60 0.62 0.64 0.66 0.68 0.70 0.72 0.74 0.76 0.78 0.80 0.82 0.84
[289] 0.86 0.88 0.90 0.92 0.94 0.96 0.98 1.00 1.02 1.04 1.06 1.08 1.10 1.12 1.14 1.16
[305] 1.18 1.20 1.22 1.24 1.26 1.28 1.30 1.32 1.34 1.36 1.38 1.40 1.42 1.44 1.46 1.48
[321] 1.50 1.52 1.54 1.56 1.58 1.60 1.62 1.64 1.66 1.68 1.70 1.72 1.74 1.76 1.78 1.80
[337] 1.82 1.84 1.86 1.88 1.90 1.92 1.94 1.96 1.98 2.00 2.02 2.04 2.06 2.08 2.10 2.12
[353] 2.14 2.16 2.18 2.20 2.22 2.24 2.26 2.28 2.30 2.32 2.34 2.36 2.38 2.40 2.42 2.44
[369] 2.46 2.48 2.50 2.52 2.54 2.56 2.58 2.60 2.62 2.64 2.66 2.68 2.70 2.72 2.74 2.76
[385] 2.78 2.80 2.82 2.84 2.86 2.88 2.90 2.92 2.94 2.96 2.98 3.00 3.02 3.04 3.06 3.08
[401] 3.10 3.12 3.14 3.16 3.18 3.20 3.22 3.24 3.26 3.28 3.30 3.32 3.34 3.36 3.38 3.40
[417] 3.42 3.44 3.46 3.48 3.50 3.52 3.54 3.56 3.58 3.60 3.62 3.64 3.66 3.68 3.70 3.72
[433] 3.74 3.76 3.78 3.80 3.82 3.84 3.86 3.88 3.90 3.92 3.94 3.96 3.98 4.00 4.02 4.04
[449] 4.06 4.08 4.10 4.12 4.14 4.16 4.18 4.20 4.22 4.24 4.26 4.28 4.30 4.32 4.34 4.36
[465] 4.38 4.40 4.42 4.44 4.46 4.48 4.50 4.52 4.54 4.56 4.58 4.60 4.62 4.64 4.66

现在每个突破都比下一个大 0.02。看起来 hist 命令正在从 nclass.FD 公式中输入容器,但随后相当大地增加了数量以制作漂亮的均匀断点,并且它以某种方式选择使用相距 0.02 的间隔。为什么它特别选择那个我不知道。

编辑:刚刚注意到,如果您执行 pretty(x, n=354),您将获得与 hist 相同的 479 次中断。 x 的范围从 -4.882127 到 4.650944,所以如果你想使用 FD 中断,但要使它们均匀,那么你最终会得到 的 479 个 bin >历史

关于R 为什么 nclass.FD 返回的 bin 数量与 hist 函数不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53595466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com