gpt4 book ai didi

r - 获取 R 中直方图 bin 的索引

转载 作者:行者123 更新时间:2023-12-02 07:08:10 26 4
gpt4 key购买 nike

这是我的问题:

如何找到数字所在的直方图 bin 的索引?

在 Matlab 中,解决方案很简单。 HISTC 完成这项工作:

[counts,bin] = histc(data,edges)

“bin”是我要找的。

但我在 R 中工作,而 hist R的功能没有提出功能。我想我可以用几行代码来管理(使用一些东西作为 min< ),但由于我需要对很多数字这样做,我想找到一个更优雅的解决方案。

由于我对 R 不是很有经验,我希望可以存在一个棘手的解决方案,以另一种方式解决问题。

最佳答案

hist 函数将返回 bin 之间的断点(如果您还没有它们)。然后,您可以使用 findInterval 函数来查找每个点属于哪个区间/bin:

> tmp <- hist(iris$Petal.Width)
> findInterval(iris$Petal.Width, tmp$breaks)
[1] 2 2 2 2 2 3 2 2 2 1 2 2 1 1 2 3 3 2 2 2 2 3 2 3 2
[26] 2 3 2 2 2 2 3 1 2 2 2 2 1 2 2 2 2 2 4 3 2 2 2 2 2
[51] 7 8 8 7 8 7 9 6 7 7 6 8 6 7 7 7 8 6 8 6 10 7 8 7 7
[76] 7 7 9 8 6 6 6 7 9 8 9 8 7 7 7 7 7 7 6 7 7 7 7 6 7
[101] 13 10 11 10 12 11 9 10 10 13 11 10 11 11 13 12 10 12 12 8 12 11 11 10 11
[126] 10 10 10 11 9 10 11 12 8 7 12 13 10 10 11 13 12 10 12 13 12 10 11 12 10
> tmp2 <- .Last.value
> cbind( value=iris$Petal.Width, lower=tmp$breaks[tmp2], upper=tmp$breaks[tmp2+1])
value lower upper
[1,] 0.2 0.2 0.4
[2,] 0.2 0.2 0.4
[3,] 0.2 0.2 0.4
[4,] 0.2 0.2 0.4
[5,] 0.2 0.2 0.4
[6,] 0.4 0.4 0.6
[7,] 0.3 0.2 0.4
[8,] 0.2 0.2 0.4
[9,] 0.2 0.2 0.4
[10,] 0.1 0.0 0.2

关于r - 获取 R 中直方图 bin 的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8853735/

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