usar studio sheet mutate meaning functions como cheat r dplyr

studio - tidyr r



Condicional Cuenta en dplyr (3)

Usando ambas ideas previsualizadas y manteniéndolas consistentes:

MemberLTV_2 <- memberorders %>% group_by(MemID) %>% summarize( count2 = length(value[week<=2]), count4 = length(value[week<=4]), sum2 = sum(value[week<=2]), sum4 = sum(value[week<=4]) )

Tengo algunos datos de pedidos de miembros que me gustaría agregar por semana de pedido.

Así es como se ven los datos:

memberorders=data.frame(MemID=c(''A'',''A'',''B'',''B'',''B'',''C'',''C'',''D''), week = c(1,2,1,4,5,1,4,1), value = c(10,20,10,10,2,5,30,3))

Estoy usando dplyr para agrupar por "MemID" y resumir "valor" para "semana" <= 2 y <= 4 (para ver cuánto ordenó cada miembro en las semanas 1-2 y 1-4. El código que tengo actualmente es :

MemberLTV <- memberorders %>% group_by(MemID) %>% summarize( sum2 = sum(value[week<=2]), sum4 = sum(value[week<=4]))

Ahora estoy tratando de agregar dos campos más en el resumen, cuenta 2 y cuenta 4, que contaría el número de instancias de cada condición (semana <= 2 y semana <= 4).

La salida deseada es:

output = data.frame(MemID = c(''A'',''B'',''C'',''D''), sum2 = c(30,10,5,3), sum4 = c(30,20,35,3), count2 = c(2,1,1,1), count4 = c(2,2,2,1))

Supongo que es solo una pequeña modificación de la función de suma, pero tengo problemas para resolverlo.


Tratar

library(dplyr) memberorders %>% group_by(MemID) %>% summarise(sum2= sum(value[week<=2]), sum4= sum(value[week <=4]), count2=sum(week<=2), count4= sum(week<=4))


Usando el paquete plyr uno podría hacer

ddply(memberorders,.(MemID), summarise, val1 = sum(value[week<=2]), val2 = sum(value[week<=4]), val3 = length(value[week<=2]), val4 = length(value[week<=4])) MemID val1 val2 val3 val4 1 A 30 30 2 2 2 B 10 20 1 2 3 C 5 35 1 2 4 D 3 3 1 1