Вы можете переключить его.Сначала создайте коррелированные данные, как в посте DJV выше.Затем отредактируйте его случайным образом.Это не гарантирует точную нулевую корреляцию в выборке - но это также верно для независимо выбранных данных.
# first create `data` as in DJV's post. Then:
data_indep <- apply(data, 2, sample)
cor(data2)
[,1] [,2] [,3]
[1,] 1.00000000 0.07503708 -0.13515778
[2,] 0.07503708 1.00000000 -0.02912137
[3,] -0.13515778 -0.02912137 1.00000000
Чтобы показать, что в среднем перетасованные данные некоррелированы (что аналитически верно, но давайтепроверьте):
replicate(10000, {data2 <- apply(data, 2, sample); cor(data2)}) -> cors
apply(cors, 1:2, mean)
[,1] [,2] [,3]
[1,] 1.0000000000 -0.0009533055 0.0014867635
[2,] -0.0009533055 1.0000000000 0.0002847576
[3,] 0.0014867635 0.0002847576 1.0000000000
Достаточно хорошо, я думаю.