1

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] 

なぜこれが事実なのか誰にも分かりますか?同心円上のノードの座標を計算する別の方法はありますか?

ありがとう!

4

0 に答える 0