我有两个数据帧。第一个具有客户的ID,名称和地址。第二个拥有您的所有交易(价值,购买日期,现金或信用卡...)。
¨¨
我需要在日期框架1中添加的变量:最旧的日期,较低的购买价值,较高的购买价值,购买的平均价值,购买的数量(在这种情况下,第二个ID的行数数据框)。
我尝试创建第三个日期框架,然后使用clie_id作为参考将第一个日期框架的列与第三个日期框架的列合并。所以我这样做了:
str(data.frame_1)
Classes ‘data.table’ and 'data.frame': 201917 obs. of 5 variables:
$ clie_id : chr "C_ID_97" "C_ID_3f" "C_ID_dd" "C_ID_11" ...
$ address_1 : int 5 4 2 4 1 4 3 3 2 2 ...
$ salary : int 2 1 2 3 3 2 2 2 1 2 ...
$ gender : int 1 0 0 0 0 0 1 1 0 0 ...
$ have_kids : num -0.82 0.393 0.688 0.142 -0.16 ...
str(data.frame_2)
$ clie_id : chr "C_ID_00007093c1" "C_ID_00007093c1" "C_ID_00007093c1" "C_ID_00007093c1" ...
$ city : int -1 -1 -1 -1 76 76 76 76 76 244 ...
$ purchase_date : Date, format: "2012-06-14" "2013-08-01" "2013-09-08" "2013-10-28" ...
$ state : int -1 -1 -1 -1 2 2 2 2 2 2 ...
$ sector : int 8 8 8 8 33 33 33 33 1 34 ...
$ category : chr "Y" "Y" "Y" "Y" ...
$ purchase_amount : num -0.729 -0.709 -0.721 -0.672 -0.672 ...
但是,R仅返回了一条回答行。他没有汇总每个ID。
我该如何加入?
答案 0 :(得分:0)
成功
total_data_summarise_by_id <- data.frame_2 %>%
group_by(clie_id) %>%
summarise(first_date = min(purchase_date),
min_purchase_amount = min(purchase_amount),
max_purchase_amount = max(purchase_amount),
mean_purchase_amount = mean(purchase_amount)),
total = n())
非常感谢您的帮助