【发布时间】:2014-08-17 14:23:29
【问题描述】:
我有这样的数据:
> head(df)
Date IsWin
20 2014-07-13 00:00:00 True
21 2014-08-01 00:00:00 True
22 2014-08-05 00:00:00 False
23 2014-06-28 00:00:00 True
24 2014-05-31 00:00:00 True
25 2014-06-06 00:00:00 True
我想按日期分组并按 IsWin 求和(应该是 1 或 -1 的因子)。
我已经阅读了这个,但它并没有真正处理因素,所以我不知道如何应用它How to group a data.frame by date?
最终,我想将分组和汇总的数据传递到条形图以显示输赢的数量,例如ggplot2 and a Stacked Bar Chart with Negative Values
以下输出的表格对查看我想要的内容非常有帮助;但是,我想将其转换为条形图以获得更好的视觉效果:
> table(df[,1],df[,2])
False True
2014-05-25 00:00:00 1 0
2014-05-29 00:00:00 1 0
2014-05-30 00:00:00 2 0
2014-05-31 00:00:00 0 1
2014-06-06 00:00:00 0 1
2014-06-13 00:00:00 1 0
2014-06-14 00:00:00 0 1
2014-06-18 00:00:00 1 0
2014-06-19 00:00:00 0 1
2014-06-23 00:00:00 1 0
2014-06-24 00:00:00 1 0
2014-06-25 00:00:00 1 0
2014-06-27 00:00:00 0 1
2014-06-28 00:00:00 1 2
2014-07-02 00:00:00 1 0
2014-07-11 00:00:00 1 0
2014-07-13 00:00:00 0 2
2014-07-31 00:00:00 0 1
2014-08-01 00:00:00 0 1
2014-08-05 00:00:00 1 0
2014-08-07 00:00:00 1 0
2014-08-12 00:00:00 0 1
这是我的实际结构:
df <- structure(list(Date = c("2014-07-13 00:00:00", "2014-08-01 00:00:00",
"2014-08-05 00:00:00", "2014-06-28 00:00:00", "2014-05-31 00:00:00",
"2014-06-06 00:00:00", "2014-06-14 00:00:00", "2014-05-25 00:00:00",
"2014-06-24 00:00:00", "2014-06-28 00:00:00", "2014-05-30 00:00:00",
"2014-06-18 00:00:00", "2014-07-02 00:00:00", "2014-07-11 00:00:00",
"2014-05-29 00:00:00", "2014-06-19 00:00:00", "2014-07-31 00:00:00",
"2014-06-27 00:00:00", "2014-06-23 00:00:00", "2014-05-30 00:00:00",
"2014-07-13 00:00:00", "2014-08-12 00:00:00", "2014-06-13 00:00:00",
"2014-06-25 00:00:00", "2014-06-28 00:00:00", "2014-08-07 00:00:00"
), IsWin = structure(c(2L, 2L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 1L
), .Label = c("False", "True"), class = "factor")), .Names = c("Date",
"IsWin"), row.names = 20:45, class = "data.frame")
【问题讨论】:
-
我已经编辑了我的答案。