So sieht mein Datenframe aus. Die Spalte ganz rechts ist meine gewünschte Spalte. Ich versuche, die kumulative Summe der eindeutigen FundTypes zu erhalten, wenn der ActivityType Sale ist. Die erste Zeile hat also activitytype == email, daher gibt es keine kumulative Summe, dasselbe gilt für die zweite Zeile, die dritte Zeile hat activitytype == sale und sie sollte die kumulative Summe als 1 anzeigen, da die Bedingung erfüllt ist.Kumulative Summe einer eindeutigen Variablen mit angehängter Bedingung
library(data.table)
dt <- fread('
Name ActivityType FundType UniqueFundsSale(Desired)
John Email a 0
John Webinar b 0
John Sale a 1
John Sale b 2
John Webinar c 2
John Sale a 2
John Sale b 2
John Sale c 3
Tom Email a 0
Tom Webinar b 0
Tom Sale a 1
Tom Sale b 2
Tom Webinar c 2
Tom Sale a 2
Tom Sale b 2
Tom Sale c 3')
Ich habe Folgendes versucht.
dt[, UniqueFundsSale :=
cumsum(ActivityType=="Sale" & !duplicated(FundType,ActivityType) & !FundType=="")
, by = Name]
Vielen Dank für Ihre Hilfe.
Fyi, können Sie 'fread ("Text Text Text") Auch ein Beispiel zu konstruieren. – Frank
@Frank Danke Frank. Das wusste ich nicht. Also kann ich ein Beispiel mit fread konstruieren und es direkt an stackoverflow schicken? – gibbz00
Ja, ich werde es bearbeiten, um zu demonstrieren. – Frank