如何在 R 中按升序排列变量表并绘制条形图



我只用了1个变量(DX_2_CD)从我的数据帧(no.out)创建了一个表。

> counts <- table(no.out$DX_2_CD)
> counts
             Blood CirculatorySystems         Congenital          Digestive      Genitourinary 
                 7                133                  0                  7                 35 
        Illdefined           Immunity         Infectious             Injury             Mental 
               126                 98                  0                 84                  7 
          Muscular          Neoplasms            Nervous          Perinatal          Pregnancy 
               119                  7                  0                  0                  7 
       Respiratory              Sense               Skin 
                63                 35                 63 

现在,我想按升序重新排列计数,以便最低值是第一个,最大值是最后一个。如果有两个相同的值,那么哪个先出现并不重要。

我认为最简单的解决方案是使用 order():

ordered_counts <- counts[order(counts)]

或者,更好的是,sort():

ordered_counts <- sort(counts)

好的,现在我已经设法使用:

    x<-barplot(sort(counts),col=rainbow(length(sort(counts))))#, main="DX_2_CD Distribution", 
           lablist <- as.vector(names(sort(counts)))      
text(cex=1, x=x-.50, y=-1.25, lablist, xpd=TRUE, srt=45)

这解决了这两个问题。

但是,除了 45 度倾斜的标签外,还保留了原始的 x 轴标签。如何摆脱它们?

我无法附加屏幕截图,因为我没有足够的声誉

最新更新