2

我对 R 和来自电子表格背景的 ggplot 很陌生,我正在寻找在数据透视图中很容易做的事情。我想根据另一列中给出的类别绘制给定列的值的总和。

让我们举个例子:

element qty category
apples  2   Red
apples  1   Green
apples  4   Red
apples  3   Green
apples  6   Yellow

我想要一个图表,它根据类别绘制所有苹果,而不是根据列类别中的计数,而是根据 qty 列中相应值的总和。

意思是 6 个红苹果 4 个绿苹果和 6 个黄苹果......有没有一些捷径可以直接在 ggplot 中执行此操作,或者我是否需要事先处理我的数据 - fi。用 plyr 吗?

对不起,如果这个问题是一个菜鸟问题,但我找不到任何答案......

4

1 回答 1

7

为了使 Roman 的评论更加明确:

# Create the data frame
element <- rep("apples", 5)
qty <- c(2, 1, 4, 3, 6)
category <- c("Red", "Green", "Red", "Green", "Yellow")
d <- data.frame(element=element, qty=qty, category=category)

用于stat="identity"计算里面的总和ggplot

ggplot(d, aes(x=category, y=qty)) + geom_bar(stat="identity")

在此处输入图像描述

编辑:缺少“)”添加到 ggplot 函数的末尾

于 2013-07-22T14:57:48.387 回答