让我回答我自己的问题,以便使用Henrik的评论中令人难以置信的简单解决方案正确地解决它:
matrix(v, nrow = 3, ncol = 4, byrow = TRUE)[ , 1:3]
从概念上讲,也许byrow = TRUE
匹配插图的三个步骤是最好的,但输出与以下内容相同:
matrix(v, nrow = 4, ncol = 3)[1:3, ]
# [,1] [,2] [,3]
# [1,] 1 2 3
# [2,] 2 3 1
# [3,] 3 1 2
因为可能存在“许多具有不同长度的向量”,所以制作一个简单函数并将其应用于存储在的向量中可能会很方便list
:
cycle = function(x){
len = length(x)
matrix(x, nrow = len + 1, ncol = len)[1:len , ]
}
l = list(v1 = 1:3, v2 = letters[1:4])
lapply(l, cycle)
# $v1
# [,1] [,2] [,3]
# [1,] 1 2 3
# [2,] 2 3 1
# [3,] 3 1 2
#
# $v2
# [,1] [,2] [,3] [,4]
# [1,] "a" "b" "c" "d"
# [2,] "b" "c" "d" "a"
# [3,] "c" "d" "a" "b"
# [4,] "d" "a" "b" "c"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句