以下是有关日期的成功与失败的数据,我想按月汇总。我尝试了以下命令,但它出现以下错误
rowsum(xx$success, format(xx$$date, "%b-%Y"))
format.default中的错误(结构(as.character(x),names = names(x),dim = dim(x),:
无效的'trim'参数
不确定我错在哪里。
date success
5-Sep-02 0
19-Sep-02 0
25-Sep-02 1
10-Oct-02 0
12-Oct-02 0
14-Oct-02 1
15-Oct-02 0
28-Oct-02 0
30-Oct-02 0
9-Nov-02 1
14-Nov-02 0
19-Nov-02 1
2-Dec-02 0
12-Dec-02 0
16-Dec-02 0
答案 0 :(得分:2)
以下是# first convert date to class "date":
xx$date <- as.Date(as.character(xx$date), "%d-%b-%y") # careful: if your locale is not set properly %b might return NAs
xx %>%
group_by(date = as.yearmon(date)) %>% # we group by month, using as.yearmon from the package "zoo"
summarise(success = sum(success)) # and then we summarise
的解决方案:
Source: local data frame [4 x 2]
date success
1 Sep 2002 1
2 Oct 2002 1
3 Nov 2002 2
4 Dec 2002 0
这应该导致:
R
你的问题是rowSum不按月汇总,而是将每个行(即每次观察)相加。您基本上告诉df %>%
group_by(date = as.yearmon(date)) %>%
summarise(successes = sum(success == 1),
failures = sum(success == 0))
将月份和成功值相加(显然)会产生错误。
编辑:
从重读这个问题来看,OP是否想要在一个月内计算成功和失败并不完全清楚。这只需要对我上面发布的代码进行一些调整:
timespec