【发布时间】:2021-09-27 22:21:37
【问题描述】:
我希望R 将任何向量拆分为具有以下条件的一系列子向量:
-
每个子向量的长度必须相等
l -
没有两 (2) 个子向量必须重叠
我试过了:
当父向量vec能被子向量长度l整除时
vec <- 1:11 # parent vector.
l <- 2 # number of elements that each sub-vector must contain.
blk <- split(vec, ceiling(seq_along(vec) / l))
test <- length(vec) %% l == 0
$
1[1] 1 2
$
2[1] 3 4
$
3[1] 5 6
$
4[1] 7 8
$
5[1] 9 10
$
6[1] 11
当父向量vec不能被子向量长度l整除时
vec <- 1:11 # parent vector.
l <- 3 # number of elements that each sub-vector must contain.
blk <- split(vec, ceiling(seq_along(vec) / l))
test <- length(vec) %% l == 0
$
1[1] 1 2 3
$
2[1] 4 5 6
$
3[1] 7 8 9
$
4[1] 10 11
我想要什么
如果最后一个子向量没有达到设定的长度丢弃,否则包含。
编辑
test <- length(x) %% l == 0
我正在考虑一种可以编写条件语句的方法,如果test 是FALSE,则丢弃最后一个子向量,但如果test 是TRUE,则包含最后一个子向量。
【问题讨论】: