我写了一个简单的函数,得到了愿望输出,但得到了警告。任何人请提出最佳答案。
df <- c(1,2,3,4,5,6,7)
df
# [1] 1 2 3 4 5 6 7
transvector <- function (x) {
if (length(x)%%3 == 0) {
len = floor(length(x)/3)
} else {
len = floor(length(x)/3) +1
}
out <- split(x, rep(1:len, each=3))
return(out)
}
list <- transvector(df)
警告信息: 在split.default(x,rep(1:len,每个= 3))中: 数据长度不是分割变量的倍数
期望答案
list
# $`1`
# [1] 1 2 3
# $`2`
# [1] 4 5 6
# $`3`
# [1] 7
desire函数应该是通用的,并且对所有可能的长度向量都有效