Похоже, здесь есть две части - случайным образом перемешайте ваши данные, а затем разбейте вектор на список (под) векторов.
Вы можете попробовать что-то вроде следующего:
x = rnorm(12)
nsplit = 3
split(x[sample(length(x))],rep(1:nsplit,each = length(x)%/%nsplit))
если ваше разбиение не делится равномерно на длину вашего массива, могут быть детали реализации, о которых нужно позаботиться ... но это суть.
ps не слишком педантично, но x=1:12
не нужно c()