r - 使用 ggplot2 在 R 中创建 "combination tree"

标签 r ggplot2 tree combinatorics

我有兴趣制作这样的图片:

enter image description here

基本上,我想展示所有可能的组合。我尝试使用 ggplot2 来做到这一点,但我找不到生成这棵树的确切函数。

有没有一种简单的方法可以做到这一点?

我创建了一些这样的数据:

var1 <- sample( LETTERS[1:5], 100, replace=TRUE, prob=c(0.2, 0.2, 0.2, 0.2, 0.2) )

var2 <- sample( LETTERS[6:7], 100, replace=TRUE, prob=c(0.5, 0.5) )

var3<- sample( LETTERS[8:11], 100, replace=TRUE, prob=c(0.1, 0.2, 0.65, 0.05) )

f <- data.frame(var1, var2, var3)

f$var1 = as.factor(f$var1)

f$var2 = as.factor(f$var2)

f$var3 = as.factor(f$var3)

我尝试过:

plot(f)

但这没有用。 谢谢!

最佳答案

R-graph gallery为我们提供了一个非常好的起点。

library(ggraph)
library(igraph)
library(tidyverse)

d1 <- data.frame(from="origin", to=LETTERS[1:5])
d2 <- data.frame(from=rep(d1$to, each=2), to=paste(LETTERS[6:7], 1:10, sep="_"))
d3 <- data.frame(from=rep(d2$to, each=3), to=paste(LETTERS[8:10], 1:30, sep="_"))
edges <- do.call(rbind, list(d1, d2, d3))

mygraph <- graph_from_data_frame(edges)

# Basic tree
ggraph(mygraph, layout = 'dendrogram', circular = FALSE) + 
    geom_edge_diagonal() +
    geom_node_point() +
    geom_node_text(aes(label = c("origin", gsub("[0-9]|_","",edges$to))), repel = TRUE, colour = 'blue') +
    theme_void()

enter image description here

关于r - 使用 ggplot2 在 R 中创建 "combination tree",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63728731/

相关文章:

javascript - 从对象列表中创建 javascript 树

r - 如何使用通用方法仅删除 R 中存在的异常值

string - 在函数内将字符串传递给 ggplot2

r - 当最后一个值为零时如何修剪向量

xml - R:将节点插入特定位置的xml树

r - 使用 ggplot2,如何在不扭曲箱线图的情况下设置 y 轴上的刻度线间隔?

java - 创建新节点会不断更改所有节点(Java)

javascript - 将具有父 ID 的对象数组转换为嵌套树结构

r - 函数内的 ggplot 找不到传递给函数的数据帧

r - 在 R 中向哑铃图添加图例