R 相同月份、相同参考但不同日期的无重复值的合计和

R 相同月份、相同参考但不同日期的无重复值的合计和,r,aggregate,R,Aggregate,这是我的df。正如您所看到的,它具有唯一的值,因为发票可以在同一个月内多次索赔 Invoice mtime Client.Code. Invoice.Date Amount 1 20170100000 2017-04-03 13:03:53 1006442 2017-01-23 645.75 6 20170100001 2017-05-04 11:57:06 1004791 2017-01

这是我的df。正如您所看到的,它具有唯一的值,因为发票可以在同一个月内多次索赔

        Invoice        mtime            Client.Code. Invoice.Date   Amount
1      20170100000 2017-04-03 13:03:53      1006442   2017-01-23   645.75
6      20170100001 2017-05-04 11:57:06      1004791   2017-01-23   5798.10
15     20170100007 2017-04-03 13:03:53      1004775   2017-01-23   12912.81
21     20170100008 2017-04-03 13:03:53      1004775   2017-01-23   132.37
26     20170100011 2017-04-11 09:59:42      1004689   2017-01-23   13455.10
38     20170100011 2017-04-19 15:59:18      1004689   2017-01-23   13455.10
50     20170100011 2017-05-04 11:57:06      1004689   2017-01-23   13455.10
62     20170100012 2017-04-03 13:03:53      1004775   2017-01-23   15649.38
68     20170100013 2017-04-03 13:03:53      1004849   2017-01-23   6616.40
74     20170100013 2017-04-11 09:59:42      1004849   2017-01-23   6616.40
80     20170100024 2017-04-03 13:03:53      1004962   2017-01-24   3046.59
我想知道每月索赔的发票总金额(mtime),因此,如果同一发票在一个月内索赔两次,则金额为一,但如果在几个月内索赔,则应每月索赔一次

我不知道怎么玩这个把戏


谢谢。

假设您的data.frame名为
DF
,您可以首先创建一个变量,从发票日期中提取月份和年份:

invoice.months <- format(as.Date(DF$Invoice.Date), "%m%Y")

invoice.months请参见
?聚合
。尝试一下,如果有任何问题,请报告。
索赔。每月
客户.code.
发票.Date
与您的目标无关?期望的输出是什么?你的回答激发了我的灵感,我做到了(DF=Claim.basic)
Claim.months1
unique.id <- unique(paste(DF$Invoice, invoice.months))
library(lubridate)
month.vector <- format(seq.Date(min(DF$mtime), max(DF$mtime), by="1 month"), "%m%Y")
num.claims.per.month <- sapply(month.vector, function (x) length(grep(x, unique.id)))