如何将父向量的第一个元素与R相加,将向量拆分为等长
我想把一个向量拆分成等长的子向量,但如果最后一个子向量的长度不等于其他子向量的长度,则将其与父向量的第一个元素相加 我试着回答一个我不想要的问题如何将父向量的第一个元素与R相加,将向量拆分为等长,r,split,R,Split,我想把一个向量拆分成等长的子向量,但如果最后一个子向量的长度不等于其他子向量的长度,则将其与父向量的第一个元素相加 我试着回答一个我不想要的问题 ts <- 1:11 bs <- 3 nb <- ceiling(length(ts) / bs) split(ts, rep(1:nb, each=bs, length.out = length(ts))) #$`1` #[1] 1 2 3 #$`2` #[1] 4 5 6 #$`3` #[1] 7 8 9 #$`4`
ts <- 1:11
bs <- 3
nb <- ceiling(length(ts) / bs)
split(ts, rep(1:nb, each=bs, length.out = length(ts)))
#$`1`
#[1] 1 2 3
#$`2`
#[1] 4 5 6
#$`3`
#[1] 7 8 9
#$`4`
#[1] 10 11
#$`1`
#[1] 1 2 3
#$`2`
#[1] 4 5 6
#$`3`
#[1] 7 8 9
#$`4`
#[1] 10 11 1
#Extend the `ts` to have a total length of `bs * nb`
split(rep(ts, length.out = nb * bs), rep(1:nb, each = bs))
#OR use modular arithmetic
split(ts[((sequence(nb * bs) - 1) %% length(ts)) + 1], rep(1:nb, each = bs))
#$`1`
#[1] 1 2 3
#$`2`
#[1] 4 5 6
#$`3`
#[1] 7 8 9
#$`4`
#[1] 10 11 1