Мой график
nodes = data.frame(GENES = c("GENE_A", "GENE_B", "GENE_C", "GENE_D", "GENE_E","GENE_F", "GENE_G", "GENE_H", "GENE_I", "GENE_J"),TYPES = c("LIGAND", "RECEPTOR", "PROTEIN", "RECEPTOR", "LIGAND", "PROTEIN", "LIGAND","RECEPTOR", "PROTEIN", "LIGAND"))
edges = data.frame(FROM=c("GENE_A","GENE_B","GENE_C","GENE_C","GENE_D","GENE_E","GENE_F","GENE_A","GENE_H","GENE_H","GENE_I","GENE_J","GENE_J"),TO=c("GENE_B","GENE_D","GENE_I","GENE_G","GENE_F","GENE_I","GENE_B","GENE_G","GENE_E","GENE_F","GENE_C","GENE_D","GENE_J"),STATUS=c('ACTIVE','INACTIVE','UNKNOWN','INACTIVE','INACTIVE','UNKNOWN','ACTIVE', 'ACTIVE','ACTIVE','INACTIVE','UNKNOWN',"ACTIVE","ACTIVE"))
g <- graph_from_data_frame(edges, directed = TRUE, vertices = nodes)
И я хочу подграфить и упростить следующие узлы d = data.frame(NODES = "GENE_B", "GENE_D", "GENE_H")
, но каждый раз, когда я simplify
, я теряю все атрибуты в ребрах.
На выходе я хочу получить граф узлов в d
с прямыми ребрами (order = 1
). Я пробовал с subg <- induced.subgraph(graph = g, vids = unlist(neighborhood(graph = g, order = 1, nodes = d, mode = 'out')))
, но после упрощения я теряю атрибуты края и не могу отследить E(g)$STATUS