【发布时间】:2021-03-09 10:30:44
【问题描述】:
我正在使用 R。假设我有数据(如下)并制作图表:
library(igraph)
file <-data.frame(
"source" = c(
"John",
"John",
"Tim",
"Tim",
"Alex",
"Andrew",
"Andrew",
"Andrew",
"Oliver",
"Oliver",
"Oliver",
"Matt",
"Steven",
"Steven",
"Steven",
"Matt",
"Charles",
"Charles",
"Charles",
"Sean",
"Ted",
"Ryan",
"Ryan",
"Ryan",
"Ted",
"Phil",
"Phil",
"Phil",
"Sam",
"Toby",
"Toby",
"Donald",
"Donald",
"Donald",
"Mitch",
"Mitch",
"Mitch"),
"target" = c("Sam",
"Tim",
"Alex",
"Matt",
"Andrew",
"Sean",
"Peter",
"Ben",
"Kevin",
"Thomas",
"Dave",
"Steven",
"Kenny",
"Derek",
"CJ",
"Charles",
"Ivan",
"Kyle",
"Andrew",
"Ted",
"Ryan",
"Daniel",
"Chris",
"Scott",
"Phil",
"Henry",
"George",
"Paul",
"Toby",
"Donald",
"Mitch",
"Jack",
"Luke",
"Myles",
"Elliot",
"Harvey",
"Owen")
)
graph <- graph.data.frame(file, directed=F)
graph <- simplify(graph)
plot(graph)
该图有两个不同的部分:“红色”和“黑色”。
有没有办法只绘制“红色”部分?有没有办法只绘制“黑色”部分?
我尝试了以下代码:
g1 = graph
cls = clusters(g1)
g2 <- delete_vertices(g1, V(g1)[cls$membership %in% which(cls$no =="1")])
plot(g2)
但这会返回原始图形。有人可以告诉我我做错了什么吗?是否应该改用 dplyr/sql 来完成?
是否也可以制作一个表格,上面写着:“黑色”有 4 个观察值,“红色”有 34 个观察值?
【问题讨论】:
标签: r data-visualization cluster-analysis igraph