根据 R 中的特定分布将范围划分为垃圾箱
Divide range to bins according to specific distribution in R
我有数字范围,例如 1-20000,我有一个 windows 大小的向量:
lens <- c(100, 100, 100, 50, 20)
我想将范围 1-20000 拆分为 windows,其中 windows 长度的分布将类似于向量长度中的分布。
有什么想法吗?
谢谢
我想这就是你想要做的。首先我们需要可重现的数据:
set.seed(42)
x <- sample(20000, 200, replace=TRUE)
您想要将数据分成与 lens
成比例的组:
brks <- round(c(0, cumsum(lens)/sum(lens) * 20000))
brks
# [1] 0 5405 10811 16216 18919 20000
groups <- cut(x, brks, labels=brks[-1])
table(groups)
# groups
# 5405 10811 16216 18919 20000
# 58 55 55 24 8
我有数字范围,例如 1-20000,我有一个 windows 大小的向量:
lens <- c(100, 100, 100, 50, 20)
我想将范围 1-20000 拆分为 windows,其中 windows 长度的分布将类似于向量长度中的分布。
有什么想法吗?
谢谢
我想这就是你想要做的。首先我们需要可重现的数据:
set.seed(42)
x <- sample(20000, 200, replace=TRUE)
您想要将数据分成与 lens
成比例的组:
brks <- round(c(0, cumsum(lens)/sum(lens) * 20000))
brks
# [1] 0 5405 10811 16216 18919 20000
groups <- cut(x, brks, labels=brks[-1])
table(groups)
# groups
# 5405 10811 16216 18919 20000
# 58 55 55 24 8