我对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?
很抱歉,如果这个问题是一个noob问题,但我找不到任何答案......
答案 0 :(得分:7)
让罗马的评论更明确:
# 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函数的结尾