0

我只使用 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 

现在,我想按升序重新排列计数,使最小值在前,最大值在最后。如果有两个相同的值,那么哪个先出现并不重要。

4

2 回答 2

3

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

ordered_counts <- counts[order(counts)]

或者,更好的是 sort():

ordered_counts <- sort(counts)
于 2014-11-30T15:33:41.377 回答
0

好的,现在我已经设法获得了不同颜色的条,使用:

    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 轴标签。我该如何摆脱它们?

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

于 2014-11-30T16:14:35.390 回答