r - 在 R 中的多列上绘制每行直方图

标签 r drawing histogram ranking

我正在使用 R 来分析我的硕士论文
我有以下数据框:STOF:学生与教职员工的比率

    HEI.ID   X2007 X2008 X2009 X2010 X2011 X2012 
1        OP  41.8 147.6  90.3  82.9 106.8  63.0    
2        MO  20.0  20.8  21.1  20.9  12.6  20.6    
3        SD  21.2  32.3  25.7  23.9  25.0  40.1    
4        UN  51.8  39.8  19.9  20.9  21.6  22.5    
5        WS  18.0  19.9  15.3  13.6  15.7  15.2    
6        BF  11.5  36.9  20.0  23.2  18.2  23.8    
7        ME  34.2  30.3  28.4  30.1  31.5  25.6    
8        IM   7.7  18.1  20.5  14.6  17.2  17.1    
9        OM  11.4  11.2  12.2  11.1  13.4  19.2    
10       DC  14.3  28.7  20.1  17.0  22.3  16.2    
11       OC  28.6  44.0  24.9  27.9  34.0  30.7    

然后我使用这个推荐对大学进行排名
HEIrank1<-(STOF[,-c(1)])
rank1 <- apply(HEIrank1,2,rank)

> HEIrank11
     HEI.ID X2007 X2008 X2009 X2010 X2011 X2012
1        OP  18.0    20  20.0  20.0  20.0    20
2        MO  14.0     9  13.0  13.5   2.0    12
3        SD  15.0    16  17.0  16.0  16.0    19
4        UN  20.0    18   8.0  13.5  14.0    13
5        WS  12.0     8   4.0   7.0   6.0     8
6        BF   6.5    17   9.5  15.0  10.0    14
7        ME  17.0    15  19.0  19.0  17.0    15
8        IM   2.0     6  12.0   8.0   8.5    10
9        OM   4.5     3   2.5   3.0   3.0    11
10       DC  11.0    14  11.0   9.0  15.0     9
11       OC  16.0    19  16.0  18.0  19.0    17

我想为每个 HEI(每行)绘制直方图?

最佳答案

如果您使用 ggplot,则不需要将其作为循环进行,您可以一次绘制它们。此外,您需要重新格式化数据,使其采用长格式而不是短格式。您可以使用 reshape 包中的melt函数来做到这一点。

library(reshape2)
new.df<-melt(HEIrank11,id.vars="HEI.ID")
names(new.df)=c("HEI.ID","Year","Rank")

子字符串每年都在摆脱 X
library(ggplot2)
ggplot(new.df, aes(x=HEI.ID,y=Rank,fill=substring(Year,2)))+
   geom_histogram(stat="identity",position="dodge")

enter image description here

关于r - 在 R 中的多列上绘制每行直方图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22264744/

相关文章:

java - 我的背景图像对于 Canvas 来说太大了

python - 使用 nx. Degree_histogram 绘制图的度分布

python - 如何将颜色条添加到直方图?

python - 尝试使用 numpy 在字典中创建给定值的直方图,但并非所有值都显示出来

r - 使用来自其他列的某些行的值创建新列

r - ggplot2构面标签中的表达式

ios - 如何在 objective-c 中用边界线填充 ImageView 的颜色部分

cocoa - 使用 NSBezierPath 绘制不同的线宽?

r - 如何在centos 6下安装R "rgl"包?

java - RJDBC 问题 : Error in . jfindClass(as.character(driverClass)[1]) :找不到类