在R中的多列上绘制每行直方图
我用R来分析我的硕士论文 我有以下数据框架:STOF:学生与员工比率在R中的多列上绘制每行直方图,r,drawing,histogram,ranking,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
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
HEIrank1如果使用ggplot,则无需将其作为循环进行,您可以一次将它们全部打印出来。此外,您需要重新格式化数据,使其采用长格式而不是短格式。您可以使用“重塑”软件包中的“熔化”功能来执行此操作
library(reshape2)
new.df<-melt(HEIrank11,id.vars="HEI.ID")
names(new.df)=c("HEI.ID","Year","Rank")
在晶格中有一个解决方案:
require(lattice)
barchart(X2007+X2008+X2009+X2010+X2011+X2012 ~ HEI.ID,
data=HEIrank11,
auto.key=list(space='right')
)
我尝试将每一行仅包含6个值。你确定从6个值中绘制直方图是有意义的吗?也许你的意思是你想要一个每个数字列的柱状图?例如,我想要(OP)college获得排名数(20)5次。所以X应该是排名,Y应该是频率。我需要帮助..嗨,crmhaske..我试图运行上一个命令,但显示了一个错误..我不知道为什么,我的R不好。错误是…(重命名错误(x,.base_to_ggplot,warn_missing=FALSE):找不到函数“rewave”),所以你能帮助我犯了什么错误吗?谢谢函数rewave在plyr包中。这可能是一种你没有的依赖。先安装.packages(“plyr”)
,然后安装库(plyr)
。我试着用par(mfrow=c(2,2))hist(as.numeric(HEIrank11[1,-1]),nclass=12)为每个学院绘制柱状图,因为我的顾问需要它。我希望学院的名称出现在图表中。你能帮我吗?你的柱状图代码没有意义。你不能有一个负指数。我不确定你到底想画什么,以及它与我和Matthew使用ggplot2和lattice向你展示的有什么不同?嗨,Matthew…我尝试运行Commission,但显示了一个错误..我不知道为什么,我在R方面不好。错误是…(错误:找不到函数“条形图”)。你能帮我吗。
require(lattice)
barchart(X2007+X2008+X2009+X2010+X2011+X2012 ~ HEI.ID,
data=HEIrank11,
auto.key=list(space='right')
)