Я хотел бы сделать эквивалент следующего SQL
запроса в R с dplyr
:dplyr мин на конкретные значения
SELECT
user_id,
min(case when product = 'ProductA' then purchase_date end) AS min_purchase_date_product_A,
min(case when product = 'ProductB' then purchase_date end) AS min_purchase_date_product_B
FROM fact_purchase
GROUP BY user_id;
Я думаю, что нужно было бы использовать функцию min()
в сочетании с which()
(см предложение ниже), но синтаксис неправильный, и я не знаю, как объединить эти две функции!
min_purchase_dates_per_product =
fact_purchase %>%
group_by(user_id) %>%
mutate(
min_purchase_date_product_A = min(which(product == 'ProductA')),
min_purchase_date_product_B = min(which(product == 'ProductB'))
)
Если есть способ сделать это для всех существующих продуктов вместо листинга один от одного изделия в мутировать заявление, я счастлив знать, как это сделать.
Добро пожаловать в StackOverflow. Пожалуйста, предоставьте [MCVE] –