为了满足画图需要,这里要把同菌属数据整合到一起,菌属内则更具某值排序即可。
1 输入数据
![](https://img.haomeiwen.com/i19404765/8d53e9bde6903dea.png)
2 对genus进行数量排序
tmp = data.frame(table(df$Genus))
tmp = tmp[order(tmp$Freq, decreasing=T),]
Var1 Freq
6 Bacteroides 17
7 Bifidobacterium 8
29 Streptococcus 6
19 Faecalicatena 4
1 Absiella 3
10 Clostridium 3
3 按genus排序,同genus内按数值排序
一个一个菌属数据提取“==”,排序“order”,最后rbind重组到一起即可。
data = data.frame()
for(i in 1:nrow(tmp))
{
demo = df[df$Genus==as.character(tmp[i, 1]),]
# 菌株数对属排序
demo = demo[order(demo$length_bgi, decreasing = F),]
# 同属下按值排序
data = rbind(data, demo)
}
![](https://img.haomeiwen.com/i19404765/4faf7c875be84390.png)
网友评论