【发布时间】:2021-10-02 20:37:20
【问题描述】:
我希望能够对每个给定 Big.area 的 Small.area 中的值进行平均。 然后,我想绘制一个折线图,其中 X 为年份,Y 上的 small.area 值的平均值由 big.area 着色 - 即 Big.area 着色的平均 small.area 的每个值的一条线
| Year | Big.area | Small.area | Value |
|---|---|---|---|
| 2011 | A | a | 10 |
| 2011 | A | b | 24 |
| 2011 | B | c | 32 |
| 2011 | B | d | 22 |
| 2012 | A | a | 20 |
| 2012 | A | b | 30 |
| 2012 | B | c | 40 |
| 2012 | B | d | 10 |
| 2013 | A | a | 15 |
| 2013 | A | b | 34 |
| 2013 | B | c | 10 |
| 2013 | B | d | 30 |
| 2014 | A | a | 15 |
| 2014 | A | b | 35 |
| 2014 | B | c | 25 |
| 2014 | B | d | 35 |
所以我最终会得到一个像这样的桌子
| Year | Big.area | mean.small.areas |
|---|---|---|
| 2011 | A | 17 |
| 2011 | B | 27 |
| 2012 | A | 25 |
| 2012 | B | 25 |
| 2013 | A | 24.5 |
| 2013 | B | 20 |
| 2014 | A | 25 |
| 2014 | B | 30 |
然后我可以使用
ggplot(df, aes(x= Year, y =mean.small.area, color = Big.area))+geom_line()
有什么想法吗? 感谢您的任何建议
【问题讨论】:
-
是基于相同示例输入的平均值。我根据你的数据得到不同的方法
with(df1, mean(Value[Big.area == "A" & Year == 2011])) [1] 17 -
是的,抱歉,我刚刚编辑添加了正确的方法!
-
如果以下解决方案有效,请考虑接受解决方案。谢谢