Возможно, вы можете попробовать базовую опцию R ниже
do.call(
rbind,
lapply(
unname(split(seq_along(data), ceiling(seq_along(data) / 4))),
function(k) data[k]
)
)
, которая дает
[,1] [,2] [,3] [,4]
[1,] "X" "X" "X" "X"
[2,] "X" "Y" "Y" "Y"
[3,] "X" "Z" "Z" "Z"
DATA
data <- structure(c("X", "X", "X", "X", "X", "Y", "Y", "Y", "X", "Z",
"Z", "Z"), .Dim = c(12L, 1L))