Проблема в том, что эта частота n
предназначена для ребер , а не вершин . Поэтому geom_edge_link
находит n
, потому что n
является атрибутом ребра, а geom_node_point
не находит n
, потому что его нет среди атрибутов вершины.
Итак, мы хотим построить другую переменную, которая фактически будет частотой вершины.
subt <- title_word_pairs %>%
filter(n >= 250)
vert <- subt %>% gather(item, word, item1, item2) %>%
group_by(word) %>% summarise(n = sum(n))
subt %>%
graph_from_data_frame(vertices = vert) %>%
ggraph(layout = "fr") +
geom_edge_link(aes(edge_alpha = n, edge_width = n), edge_colour = "royalblue") +
geom_node_point(aes(size = n)) + scale_size(range = c(2,10)) +
geom_node_text(aes(label = name), repel = TRUE, point.padding = unit(0.2, "lines")) +
theme_void()
Здесь subt
такой же, как и раньше, тогда vert
содержит два столбца: вершины (слова) и их частоту в subt
как сумму или соответствующие граничные частоты. Наконец, я добавил vertices = vert
, чтобы передать этот атрибут вершины.