У меня есть набор данных, который я хочу повернуть.
dataset <- data.frame(date = c("01/01/2020","02/01/2020", "02/01/2020", "03/01/2020")
, camp_type = c("acquisition", "acquisition", "newsletter", "acquisition")
, channel_type = c("email", "direct_mail","email","email")
, sent = c(100, 200, 50, 250)
, open = c(30, NA, 14, 148)
, click = c(14, NA, 1, 100)
)
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: у меня есть гораздо больше camp_types, чем показано в этот пример.
Я хочу получать по одной строке в день, а остальную информацию - в разных столбцах, например на рисунке ниже (переименование столбцов «отправлено», «открыто» и «нажать» на основе » channel_type "и" camp_type ").
Я пробовал что-то не очень элегантное и полностью ручное, но при переименовании я получаю сообщение об ошибке переменные (код ниже)
dataset %>%
filter(camp_type == 'Acquisition' & channel_type == 'direct_mail') %>%
rename (dm_acq_sent = sent
, dm_acq_open = open
, dm_acq_click = clicked
)
Проблема с приведенным выше кодом заключается в том, что (как только я исправлю проблему с переименованием), он будет в значительной степени ручным, потому что мне приходится повторять один и тот же кусок кода несколько раз, и это необходимо кто-то регулярно проверяет, что больше нет комбинаций camp_type и channel_type.
Любая помощь / совет будут высоко оценены.