понимаю как нагуглить
Есть таблица с именами и группами, хочу построить гарф. Имена соединяются ребром, если состоят в одной группе, чем больше общих групп, тем больше вес
Вот пример
set.seed(13)
df <- data.frame(name = sample(c("a","b","c","d"), 15, replace = T),
group = sample(c(1,2,3,4), 15, replace = T))
я могу посмотреть, состоит имя в группе или нет
df %>%
distinct() %>%
mutate(aaa = 1) %>%
# как-то можно сделать без aaa = 1?
spread(name, value = aaa, fill = 0)
но пытаюсь получить что-то такое, чтобы имена дублирвоанись и в имена строк и в именах столбцов
# a b c d
# a 0 3 3,4 4
# b 3 0 3 1
# c 3,4 3 0 0
# d 4 1 0 0
В идеале хочу получить такую матрицу смежности, в которой было бы подсчитано количество связей
В универе мне говорили, что её можно визуализировать. и вроде как igraph это может
# a b c d
# a 0 1 2 1
# b 1 0 1 1
# c 2 1 0 0
# d 1 1 0 0
По первой части вопроса: # как-то можно сделать без aaa = 1? Можно вот так df %>% distinct() %>% table() %>% Или если нужно в таком же виде как у вас, то ещё транспонировать дополнительно df %>% distinct() %>% table() %>% t()
Обсуждают сегодня