Беру 4 слога ""ха", "му", "ра", "би"
Используя следующий код, я могу узнать все комбинации, которые можно составить из этих 4 слогов:
library(dplyr)
objects <- c("ha", "mu", "ra", "bi")
combinations <- expand.grid(objects, objects, objects, objects)
combinations$name <- apply(combinations, 1, function(x) {
paste(x, collapse = "-")
})
combinations$id = 1:nrow(combinations)
combinations <- select(combinations, id, everything())
Теперь, используя пакет igraph, я пытаюсь сделать сеть/граф, которая визуализирует все возможные комбинации этих слогов. Это будет выглядеть примерно так:
Может кто-нибудь показать мне, как я могу реструктурировать свои данные, чтобы затем создать эту визуализацию?
Я бы начал с make_tree()
установки 4 дочерних элементов на вершину и n = общего количества ваших вершин - я не уверен, что вам нужен +1 для «пня» дерева. Создайте эту структуру и проверьте ее — оттуда вы сможете отсортировать и ввести свои данные, чтобы они соответствовали.
Вот пример с 3
слоями
objects <- c("ha", "mu", "ra", "bi")
n <- 3 # height of tree
N <- sum(length(objects)^(0:n)) # total number of vertices, including a virtual root
make_tree(N, length(objects)) %>%
delete.vertices(1) %>%
set_vertex_attr("name", value = rep(objects, length.out = vcount(.))) %>%
plot(layout = layout_as_tree)
@ ThomasIsCoding: Большое спасибо за ваш ответ! Я изменил n = 4, и это выглядит великолепно!
Я пытался работать над этим вопросом некоторое время, но я не могу добиться прогресса в этом - не могли бы вы взглянуть на него, если у вас есть время? Спасибо! stackoverflow.com/questions/75944057/…
@stats_noob извините, что это выше моего понимания, и я понятия не имею об этом
Просто к вашему сведению, вы, скорее всего, получите гораздо больше вовлеченности, если будете искать некоторые варианты и сначала их пробовать — затем вы можете спросить: «Это то, что я пробовал, и что работает/не работает», а не «Может кто-нибудь показать мне.. .», что читается как «пожалуйста, сделайте это для меня».