R语言:菌属数排序,属内数值排序

2021-06-07  本文已影响0人  胡童远

为了满足画图需要,这里要把同菌属数据整合到一起,菌属内则更具某值排序即可。

1 输入数据

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)
}
上一篇 下一篇

猜你喜欢

热点阅读