R 将向量拆分为高度相等的部分
我有一个逻辑向量R 将向量拆分为高度相等的部分,r,R,我有一个逻辑向量y,我想把它分成N部分,这样每个部分都有相同数量的TRUE值(我不在乎每个部分中有多少FALSE值)。具体地说,我想要一个长度N+1的整数向量b,使得b[1]=1,b[N+1]=length(y)+1和abs(sum(y[b[I]:b[I+1])-sum(y)/N) 根据您的数字和所需内容,可能会将seq另外包装成圆形。如果您能提供一个可复制的示例和所需的输出,我认为这会有所帮助。 set.seed(1) x = sample(c(T,F), 20, T) #[1] TRUE
y
,我想把它分成N
部分,这样每个部分都有相同数量的TRUE
值(我不在乎每个部分中有多少FALSE
值)。具体地说,我想要一个长度N+1
的整数向量b
,使得b[1]=1
,b[N+1]=length(y)+1
和abs(sum(y[b[I]:b[I+1])-sum(y)/N)
根据您的数字和所需内容,可能会将seq
另外包装成圆形。如果您能提供一个可复制的示例和所需的输出,我认为这会有所帮助。
set.seed(1)
x = sample(c(T,F), 20, T)
#[1] TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE FALSE TRUE
#[17] FALSE FALSE TRUE FALSE
N = 3
y = which(x)
y[seq(1, length(y), by = length(y)/N)]
#[1] 1 10 14