Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 计算满足标准的日期_R_Dplyr - Fatal编程技术网

R 计算满足标准的日期

R 计算满足标准的日期,r,dplyr,R,Dplyr,我试图计算达到门槛标准的会员(客户)数量,以提升到下一级会员,以及他们达到标准的日期 这些准则是: 访问5个或5个以上的会员地点 至少花1500美元 使用下面的代码,我可以创建一个新的数据框,其中包含满足上述条件的成员,但是,在记录满足这些条件的日期时,我遇到了困难 我使用的代码是: criteria_met <- member_bookings %>% filter(visit_date >= member_join_date, visit_date <

我试图计算达到门槛标准的会员(客户)数量,以提升到下一级会员,以及他们达到标准的日期

这些准则是:

  • 访问5个或5个以上的会员地点
  • 至少花1500美元
使用下面的代码,我可以创建一个新的数据框,其中包含满足上述条件的成员,但是,在记录满足这些条件的日期时,我遇到了困难

我使用的代码是:

criteria_met <- member_bookings %>% 
      filter(visit_date >= member_join_date, visit_date <= expiry_date) %>% 
      group_by(member_number) %>% 
      summarise(sum_nett = sum(new_total_nett),
                locs_visited = n_distinct(location_id),
                crit_met = as.logical(if_else(sum_nett >= 1500 & parks_visited >= 5, 1, 0))) %>% 
      filter(crit_met == TRUE)
符合标准\u%
筛选(访问日期>=会员加入日期,访问日期%
组员(成员人数)%>%
总结(总和净额=总和(新总额净额),
访问过的位置=n不同(位置id),
临界值=逻辑值(如果其他值(总净值>=1500,参观公园>=5,1,0))%>%
过滤器(临界值==真)

我尝试使用
mutate(date\u met=max(visit\u date))
但是,正如我所知道的,这只返回了他们最近的就诊,而不是符合标准的就诊日期。

您需要
mutate
添加具有累计和的列(请参见
?cumsum
)对于
新的\u total\u nett
和不同位置的数量。然后您希望第一行满足这两个标准。如果您需要我们的帮助,但没有共享数据,这是很困难的。同意@Gregor,需要数据。我建议您将此作为两步分析进行:(1)筛选出符合条件的成员-如您所做的,然后,(2)提取筛选成员的所有销售数据,然后累计每个成员的收入,并确定何时达到500美元的阈值。此分析的助手是
goup_by
nest
。查看“nest”是如何使用的