根据 R 中的特定分布将范围划分为 bin

问题描述

我有一个数字范围,例如 1-20000,我有一个窗口大小向量:

lens <- c(100,100,50,20)

我想将范围 1-20000 拆分为窗口,其中窗口长度的分布将类似于向量长度的分布。

有什么想法吗?

谢谢

解决方法

我认为这就是你想要做的。首先,我们需要可重现的数据:

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 

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...