1

iGraph を使用してグラフをプロットしています。マトリックスには A と B の 2 つの列しかありません。ノードを 2 色だけで色付けする必要があります。これは、A に属するノードと B に属するノードを示します。例:

# k is a df with 2 columns – A and B
k_mx <- as.matrix(k)
k_mx_g <- graph.edgelist(k_mx, directed = FALSE)
V(k_mx_g)$color = ?? ( want blue for A and red for B)

これを行う方法を教えてください。

ありがとう、PD

4

1 に答える 1

3

このデータフレームを仮定すると:

k <-     structure(list(A = 1:4, B = 5:8), 
                 .Names = c("A", "B"), row.names = c(NA, -4L),
                  class = "data.frame")

...引数repで使用できます。eachそれ以外の場合は、引数のリサイクルにより、 c("blue," "red", "blue", "red", "blue", "red", "blue", "red") というラベルが順番に付けられます。

V(k_mx_g)$color <- rep(c("blue", "red"), each=4)

ガボールのコメントにより、このオプションを提供するようになりました。これは、より一般的なようです。

V(k_mx_g)[k$A]$color <- "blue"
V(k_mx_g)[k$B]$color <- "red"
于 2013-07-12T20:19:31.513 に答える