Extracción de tipos de eventos de la última ventana de 21 días

Mi dataframe se ve así. Las dos columnas más a la derecha son mis columnas deseadas.

**Name      ActivityType     ActivityDate   Email(last 21 says)  Webinar(last21)**             
John       Email            1/1/2014        NA                   NA   
John       Webinar          1/5/2014        NA                   NA
John       Sale             1/20/2014       Yes                  Yes
John       Webinar          3/25/2014       NA                   NA
John       Sale             4/1/2014        No                   Yes
John       Sale             7/1/2014        No                   No
Tom        Email            1/1/2015        NA                   NA   
Tom        Webinar          1/5/2015        NA                   NA
Tom        Sale             1/20/2015       Yes                  Yes
Tom        Webinar          3/25/2015       NA                   NA
Tom        Sale              4/1/2015        No                   Yes
Tom        Sale              7/1/2015        No                   No                

Solo estoy tratando de crear una variable sí / no que indique si hubo un correo electrónico o un seminario web en los últimos 21 días para cada transacción de "Venta". Estaba pensando (código simulado) en la línea de usar dplyr de esta manera:

custlife %>% 
group_by(Name) %>% 
 mutate(Email(last21days)=lag(ifelse(ActivityType = "Email" & ActivityDate of email within (activity date of sale - 21),Yes,No)).

No estoy seguro de la forma de implementar esto. Amablemente ayuda. Su ayuda es sinceramente apreciada!

Respuestas a la pregunta(2)

Su respuesta a la pregunta