首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R中创建图表

在R中创建图表
EN

Stack Overflow用户
提问于 2016-12-08 11:49:00
回答 1查看 151关注 0票数 0

我想知道是否可以从类似的数据集创建图表,比如下面的数据表:

代码语言:javascript
复制
col0                       col1                        col2          col3
name                       <NA>                        <NA>          <NA>      
name   cat, centipede, milipede, snail, flay, worm    cat          vertebrates     
name   cat, centipede, milipede, snail, flay, worm    centipede    arthropods    
name   cat, centipede, milipede, snail, flay, worm    milipede     arthropods      
name   cat, centipede, milipede, snail, flay, worm    snail        mollusc      
name   cat, centipede, milipede, snail, flay, worm    fly          insect    
name   cat, centipede, milipede, snail, flay, worm    worm         invertebrates  

并使用R创建图,与下面的图片大致相似:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-08 12:42:42

请尝试从以下df开始:

代码语言:javascript
复制
library(igraph)   
df
   col0                                   col1          col2          col3
1  name                                   <NA>          <NA>          <NA>
2  name cat,centipede,milipede,snail,flay,worm   vertebrates        animal
3  name cat,centipede,milipede,snail,flay,worm invertebrates        animal
4  name cat,centipede,milipede,snail,flay,worm           cat   vertebrates
5  name cat,centipede,milipede,snail,flay,worm     centipede    arthropods
6  name cat,centipede,milipede,snail,flay,worm      milipede    arthropods
7  name cat,centipede,milipede,snail,flay,worm    arthropods invertebrates
8  name cat,centipede,milipede,snail,flay,worm       mollusc invertebrates
9  name cat,centipede,milipede,snail,flay,worm         snail       mollusc
10 name cat,centipede,milipede,snail,flay,worm        insect invertebrates
11 name cat,centipede,milipede,snail,flay,worm           fly        insect
12 name cat,centipede,milipede,snail,flay,worm          worm invertebrates

df <- df[df$col1 != '<NA>',]
species <- union(df$col3, df$col2)
df <- df[c('col3', 'col2')]
names(df) <- c('from', 'to')
g <- graph.data.frame(df, directed = TRUE, vertices = species)
plot(g,vertex.size=2, vertex.label.dist=0.5, vertex.color="cyan", 
     edge.arrow.size=0.5, layout=layout.reingold.tilford(g, root='animal'))

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41038793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档