Ich möchte das Äquivalent der folgenden SQL
Abfrage in R zu tun mit dplyr
:dplyr min auf bestimmte Werte
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;
Ich glaube, ich müsste die min()
Funktion in Kombination verwenden, um mit which()
(siehe Vorschlag unten) aber die Syntax ist falsch und ich weiß nicht, wie man diese zwei Funktionen kombiniert!
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'))
)
Wenn es einen Weg gibt es für alle bestehenden Produkte zu tun, anstatt in einer mutieren Aussage eins nach dem anderen die Produkte der Auflistung, ich bin glücklich, zu wissen, wie es zu tun.
Willkommen bei Stackoverflow. Bitte geben Sie ein [MCVE] –