Рассчитать количество уникальных значений с помощью dplyr - PullRequest
0 голосов
/ 05 мая 2018

Я новичок с пакетом dplyr в R и хочу создать некоторые индикаторы из CSV-файла.

Я хочу рассчитать, сгруппированные по клиенту, количество строк, которые имеют CODEARTICLE = "COUPON"

Без пакета dplyr я получаю номер строки

length(which(merge_all$CODEUNIVERS == "COUPON")) #Result 249056

Когда я использую dplyr и группируюсь по IDCLIENT, у меня 0 foreach client:

test <- merge_all %>%
   filter(year(TIC_DATE) == 2017) %>% 
   group_by(IDCLIENT) %>%
   summarise(
     NbCoupon = length(which(CODEUNIVERS == "COUPON"))
   )

Почему у меня есть только значение 0 и как я могу получить действительное число «КУПОН» от клиента?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 05 мая 2018

Вы можете использовать следующее. Фильтруйте по купону и году, группируйте по IDCLIENT и используйте подсчет для подсчета вхождений.

test <- merge_all %>%
   filter(year(TIC_DATE) == 2017 & CODEUNIVERS == "COUPON") %>% 
   group_by(IDCLIENT) %>%
   tally()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...