如何分配每组';s的第一个值为";1“;“和休息”;0“;in-R数据帧
业务背景: 一家零售连锁店在全国拥有多家分店,在不同的时间点向所有分店的客户发起优惠券活动,我正在研究优惠券的性能 更好地计算每个优惠券的响应率 我已经到达了如下的数据帧如何分配每组';s的第一个值为";1“;“和休息”;0“;in-R数据帧,r,R,业务背景: 一家零售连锁店在全国拥有多家分店,在不同的时间点向所有分店的客户发起优惠券活动,我正在研究优惠券的性能 更好地计算每个优惠券的响应率 我已经到达了如下的数据帧 "customerID Couponid CouponExpiryDate RetailstoreID Visitdate campaignresponse AA1 111 01-10-18 B3B12 01-01-18 1 AA1
"customerID Couponid CouponExpiryDate RetailstoreID Visitdate campaignresponse
AA1 111 01-10-18 B3B12 01-01-18 1
AA1 111 01-10-18 B3B12 01-02-18 1
AA2 111 01-10-18 B3B51 01-25-18 0
AA3 121 01-25-18 B54D3 01-14-18 1
AA1 111 01-10-18 B3B12 01-11-18 0
AA4 115 01-15-18 B3B12 01-01-18 1
AA3 111 01-25-18 B54D3 01-23-18 1
......
customerID Couponid CouponExpiryDate RetailstoreID Visitdate campaignresponse
AA1 111 01-10-18 B3B12 01-01-18 1
AA1 111 01-10-18 B3B12 01-02-18 0
AA2 111 01-10-18 B3B51 01-25-18 0
AA3 121 01-25-18 B54D3 01-14-18 1
AA1 111 01-10-18 B3B12 01-11-18 0
AA4 115 01-15-18 B3B12 01-01-18 1
AA3 121 01-25-18 B54D3 01-23-18 0
......
问题:
我使用了一个简单的mutate语句来计算最后一列“活动响应”
假设OrderDate=“12-31-17”
有人能帮我吗
提前感谢df%group\u by(customerID,Couponid)%%
df<-df %>% group_by(customerID, Couponid) %>%
dplyr::mutate(campaignresponse = as.integer(Visitdate >=OrderDate & (Visitdate <=CouponExpiryDate ) & row_number()==1))
dplyr::mutate(活动响应=as.integer(Visitdate>=OrderDate&(Visitdate,谢谢!!)。我尝试了你的方法。首先我对访问日期进行了排序并使用了你的代码。但是它抛出了这个错误“参数“x”缺失,没有默认值”这通常意味着它使用的是plyr
的包mutate
而不是dplyr
——要么是因为没有加载dplyr
,要么是因为加载dplyr
后加载了plyr
(实际上不应该这样做)。不管怎样,我更新了代码,现在应该可以正常工作了。我使用plyr包使用“rbind.fill”,这在dplyr包中引发了一些错误。但是你的新代码确实有效。太棒了!!!
df<-df %>% group_by(customerID, Couponid) %>%
dplyr::mutate(campaignresponse = as.integer(Visitdate >=OrderDate & (Visitdate <=CouponExpiryDate ) & row_number()==1))
# A tibble: 7 x 6
# Groups: customerID, Couponid [5]
customerID Couponid CouponExpiryDate RetailstoreID Visitdate campaignresponse
<fct> <int> <date> <fct> <date> <int>
1 AA1 111 2018-01-10 B3B12 2018-01-01 1
2 AA1 111 2018-01-10 B3B12 2018-01-02 0
3 AA2 111 2018-01-10 B3B51 2018-01-25 0
4 AA3 121 2018-01-25 B54D3 2018-01-14 1
5 AA1 111 2018-01-10 B3B12 2018-01-11 0
6 AA4 115 2018-01-15 B3B12 2018-01-01 1
7 AA3 111 2018-01-25 B54D3 2018-01-23 1