gpt4 book ai didi

r - 在等长的 bin 中划分一系列值 : cut vs cut2

转载 作者:行者123 更新时间:2023-12-03 23:37:47 24 4
gpt4 key购买 nike

我正在使用 cut 函数将我的数据拆分为相等的 bin,它可以完成这项工作,但我对它返回值的方式不满意。我需要的是垃圾箱的中心而不是上下两端。
我也试过使用 cut2{Hmisc} ,这给了我每个 bin 的中心,但它划分了 bin 中包含相同数量观测值的数据范围,而不是具有相同的长度。

有没有人有解决方案?

最佳答案

用这样的东西自己制作休息和标签并不太难。在这里,由于中点是单个数字,因此我实际上并没有返回带有标签的因子,而是返回一个数字向量。

cut2 <- function(x, breaks) {
r <- range(x)
b <- seq(r[1], r[2], length=2*breaks+1)
brk <- b[0:breaks*2+1]
mid <- b[1:breaks*2]
brk[1] <- brk[1]-0.01
k <- cut(x, breaks=brk, labels=FALSE)
mid[k]
}

可能有更好的方法来获得 bin 中断和中点;我并没有想太多。

请注意,这个答案与 Joshua 的不同;他给出了每个 bin 中数据的中位数,而 this 给出了每个 bin 的中心。
> head(cut2(x,3))
[1] 16.666667 3.333333 16.666667 3.333333 16.666667 16.666667
> head(ave(x, cut(x,3), FUN=median))
[1] 18 2 18 2 18 18

关于r - 在等长的 bin 中划分一系列值 : cut vs cut2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5915916/

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