はR

2016-12-08 5 views
0

で図を作成し、データテーブルなどの下に、同様のデータセットからの図を作成することが可能である場合、私は思っていた:はR

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と図を作成:

enter image description here

+1

「foodweb」パッケージのようなものを試してください。 –

+1

'DiagrammeR'、' networkD3'とそのような図表を作ることができる人がいくつかありますが、この階層はどこにありますか? – hrbrmstr

+0

私が扱っているデータに階層がないので、Rダイアグラム自体が "脊椎動物"や "無脊椎動物"のような価値を取るべきです –

答えて

1

次のdfで始まるIGRAPHをお試しください:

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')) 

enter image description here