R の qgraph パッケージを使用して、隣接行列からネットワークを作成しています。ノードを同心円にプロットし、1 つのノードを中央から開始してから、別の円にノードをプロットします。
これらの円を作成し、ノードの座標を計算するために、次のコードを受け取りました。
nNodes=1
layoutnew <- matrix(0,nrow=nNodes,ncol=2)
tl=nNodes+1
layoutnew[,1]=sin(seq(0,2*pi, length=tl))[-tl]
layoutnew[,2]=cos(seq(0,2*pi, length=tl))[-tl]
layoutnew <- layoutnew/2
nNodes2=4
layoutnew2 <- matrix(0,nrow=nNodes2,ncol=2)
tl2=nNodes2+1
layoutnew2[,1]=sin(seq(0,2*pi, length=tl2))[-tl2]
layoutnew2[,2]=cos(seq(0,2*pi, length=tl2))[-tl2]
このコードは、中央に 1 つのノード、次の円に 4 つのノードがある 2 つの円に対して機能しますが、3 番目の円 ( にはさらに 2 つのノードがあるはずです) が 2 番目の円の上にプロットされます。このサークルでは、次のコードを使用しました。
nNodes3=2
layoutnew3 <- matrix(0,nrow=nNodes3,ncol=2)
tl3=nNodes3+1
layoutnew3[,1]=sin(seq(0,2*pi, length=tl3))[-tl3]
layoutnew3[,2]=cos(seq(0,2*pi, length=tl3))[-tl3]
なぜこれが事実なのか誰にも分かりますか?同心円上のノードの座標を計算する別の方法はありますか?
ありがとう!