使用条形图的分组条形图

时间:2013-01-27 03:29:02

标签: r graphing

  

可能重复:
  How to create grouped barplot with R

Species      Dbh   Height
1       DF 383.7143 254.3036
2       ES 403.3333 280.0000
3        F 372.0000 270.0000
4       FG 381.5000 275.0000
5       GF 351.5838 242.6522
6       HW 209.0000 198.0000
7       LP 232.8571 218.3333
8       PP 568.5000 330.0000
9       SF 136.4286 154.1000
10      WC 375.0757 234.8777
11      WL 340.0588 252.5714
12      WP 319.7273 251.3939

我想将上面的数据转换为像这样的条形图。物种作为箱子和dbh,高度作为每个箱子的柱子。

graph

我使用了代码:

aggregate(ufc[,4:5],ufc[3],mean,na.rm=TRUE)

获取上述数据集

我只能使用此代码一次获得一个变量:

barplot(ufc.means$Height, col=rainbow(20), 
                            names.arg=(ufc.means$Species), las=2,main="Height")

1 个答案:

答案 0 :(得分:11)

首先,不要双重发帖!如有必要,请编辑上一个问题,而不是发布新问题。

其次,您提到的错误消息in your earlier post非常明显。这是错误消息:

  

barplot.default中的错误(ufc.means,col = rainbow(20),names.arg =(ufc.means $ Species),:'height'必须是向量或矩阵

仔细阅读最后一部分: 'height' must be a vector or a matrix ,但您尝试使用data.frame。因此,解决方案很简单:在使用data.frame之前将barplot转换为矩阵。

假设您的data.frame被命名为“mydf”:

mymat <- t(mydf[-1])
colnames(mymat) <- mydf[, 1]
barplot(mymat, beside = TRUE)

结果:

enter image description here