左側の白から右側の赤まで、x軸を横切って走る滑らかな色のクラインを想像してみてください。この勾配はによって記述されx
ます。
set.seed(444)
x <-sort(runif(10,0,1))
x
#[1] 0.04887351 0.05602405 0.16805309 0.18510214 0.28311653 0.36549003 0.38968610
# 0.55943791 0.57680379 0.84906069
ベクトル内で隣り合っている要素は、シーケンス内でさらにx
離れている要素よりも類似しています。このベクトルをランダムにと混ぜることができsample(x,10)
ます。x
しかし、隣同士(最も近い隣人)の数字が遠く離れた数字よりも異なる可能性が高くなるようにシャッフルしたい場合、これを達成するための良い方法は何ですか?
たとえば、xの場合、要素とその最も近い要素の平均との間の相関は明示的に次のようになります。
neighbour <- c(x[2],mean(x[1],x[3]),mean(x[2],x[4]),mean(x[3],x[5]),
mean(x[4],x[6]),mean(x[5],x[7]),mean(x[6],x[8]),
mean(x[7],x[9]),mean(x[8],x[10]),x[9])
cor(x,neighbour)
#[1] 0.9539783
が強く負x
であるベクトルを生成するためにシャッフルを生成したいと思います。cor()