1

我正在使用 iGraph 绘制图表。我的矩阵中只有两列 - A 和 B。我需要用两种颜色为节点着色 - 这表示属于 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)

请让我知道如何做到这一点。

谢谢,警察局

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")

...您可以repeach参数一起使用。否则,由于参数循环,它们将被依次标记为 c("blue," "red", "blue", "red", "blue", "red", "blue", "red"):

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

Gabor 的评论让我提供了这个选项,这似乎更笼统:

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