基于列标题绘制R中的平均值

时间:2012-02-08 17:40:51

标签: r

好的,这应该很容易,但我无法弄清楚。我有一个名为avePrice的数据(使用ggplot2中的钻石信息):

Fair      Good Very Good   Premium     Ideal 
282.0    3050.5    2648.0    3181.0    1809.0

我想绘制,使用x轴上的标题(第一行)作为标签,使用y轴上的值(第二行)。

这似乎在R中应该很容易,但我似乎无法弄明白!

我可以这样做

qplot(x=c("Fair", "Good", "Very Good", "Premium",  "Ideal"), y=avePrice, geom="bar", xlab="Diamond Cut", ylab="Average Price")

哪个有效,但似乎有一种简单的方法可以做到这一点,而无需手动输入xlabels?希望?

提前致谢...当有人指出如何:我希望感到愚蠢:)

澄清:我知道我可以从qplot命令中移出x = c(“Fair ...”)的东西并将其放在其他地方,但我仍然需要在那时手动输入它。

2 个答案:

答案 0 :(得分:3)

您可以使用ggplot2直接绘制此图,而无需按切割计算平均价格。这是一个单行

qplot(cut, price, data = diamonds, stat = 'summary', fun.y = 'mean')

答案 1 :(得分:2)

ggplot通常需要数据框列中的数据。

df <- data.frame(Fair=282.0, Good=3050.5, Very.Good=2648.0, Premium=3181.0, Ideal=1809.0)

df.fix <- data.frame(grades=names(df), avePrice=t(df), row.names=NULL)

qplot(grades, avePrice, data=df.fix, geom='bar', stat='identity')

但是在一行中:

qplot(x=names(df), y=t(df), geom='bar', stat='identity')