Отображение одной группы ярлыков в сети igraph - PullRequest
0 голосов
/ 03 марта 2020

У меня есть фрейм данных, который выглядит примерно так:

    id_1 id_2    id_3_all
1   1aju 1uts 50:1aju_ARG
2   1am0 6e8s 22:1am0_AMP
3   1byj 1pbr  9:1byj_GE1
4   1byj 2esi  9:1byj_GE1
5   1byj 2et8  9:1byj_GE1
6   1byj 2f4u  9:1byj_GE1
7   1byj 2o3x  9:1byj_GE1
8   1byj 5bxk  9:1byj_GE1
9   1byj 5zej  9:1byj_GE1
10  1byj 1f27  9:1byj_GE1
11  1byj 1o9m  9:1byj_GE1
12  1byj 2f4s  9:1byj_GE1
13  1byj 2f4t  9:1byj_GE1
14  1byj 4f8v  9:1byj_GE1
15  1byj 5z1i  9:1byj_GE1
16  1eht 1o15 47:1eht_TEP
17  1f1t 1q8n 45:1f1t_ROS
18  1f27 2f4t  9:1byj_GE1
19  1fmn 6c63 13:1fmn_FMN
20  1fmn 6c64 13:1fmn_FMN

Где id_1 и id_2 - сетевые подключения / вершины, а столбец 3 - метка группы. Я хотел бы сделать сетевой график, где отображается метка группы. После преобразования df в объект igraph и построения его:

g4 <- graph_from_data_frame(RNA_families,  directed =  F)

E(g4)$group <- as.character(RNA_families$id_3_all)

plot(g4,
     edge.label = E(g4)$group,
     edge.label.cex = 0.7,
     edge.label.dist = 1,
     vertex.label = NA,
     alpha = 0.1,
     vertex.size = 1
)

я получаю график, похожий на этот:

Plot with labels

Как вы можете видеть, этикетки очень загромождены, а сюжет очень сложен для чтения. То, что я хотел бы сделать, это отобразить только одну группу pr ярлыка. Есть ли способ, которым это возможно?

1 Ответ

1 голос
/ 09 марта 2020

В качестве обходного пути вы устанавливаете все метки группы, кроме первого вхождения каждого, в "" (т. Е. Пусто) во фрейме данных. Это может быть выполнено так: если ваш фрейм данных называется df, вы можете сделать df$id_3_all[duplicated(df$id_3_all)] <- "", чтобы установить все дубликаты имен пустыми.

...