【发布时间】:2018-01-08 15:43:12
【问题描述】:
我无法表达这个问题。我有一个数据集,其中包含几年的每日收入和支出。我一直在尝试一些方法,所以现在有很多日期列。
> str(df)
'data.frame': 3047 obs. of 8 variables:
$ Date : Factor w/ 1219 levels "2014-05-06T00:00:00.0000000",..: 6 9 2 3 4 6 10 11 13 14 ...
$ YearMonthnumber : Factor w/ 44 levels "2014/05","2014/06",..: 1 1 1 1 1 1 1 1 1 1 ...
$ cat : Factor w/ 10 levels "Account Adjustment",..: 1 2 3 3 3 3 3 3 3 3 ...
$ Value : num 2.2 277.7 20 14.1 6.8 ...
$ Income_or_expense: Factor w/ 2 levels "Expense","Income": 1 1 1 1 1 1 1 1 1 1 ...
$ ddate : Date, format: "2014-05-16" "2014-05-19" "2014-05-12" "2014-05-13" ...
$ monthly : Date, format: "2014-05-01" "2014-05-01" "2014-05-01" "2014-05-01" ...
基本上我想要绘制的是:
- 每个月的收入总和和每个月的费用总和(即值列),其中类别(cat)不是“转移”,以income_or_expense 着色
- 通过这些汇总点绘制一条平滑线。
我可以做第一步,但不能做第二步。这是我所拥有的:
ggplot(data = subset(df, cat!="Transfer"), aes(x = monthly, y= Value, colour = Income_or_expense)) +
stat_summary(fun.y = sum, geom = "point") +
scale_x_date(labels = date_format("%Y-%m"))
如何为这些生成的汇总统计数据添加平滑的几何图形?
编辑:如果我添加+ stat_summary(fun.y = sum, geom = "smooth"),结果是折线图,而不是平滑模型。如果我在没有fun.y = sum 的情况下添加它,那么平滑线基于每日值,而不是每月汇总
谢谢。
【问题讨论】:
-
你试过了吗:
stat_summary(geom = 'smooth' -
是的,如果我加上
+ stat_summary(fun.y = sum, geom = "smooth"),结果基本上是折线图,不是平滑模型。如果我在没有fun.y = sum的情况下添加它,那么平滑线基于每日值,而不是每月汇总。