Ich bin auf der Suche nach Mitgliedschaftslücken für eine Gruppe von Kunden, wo das Datum des Inkrafttretens ist, wo ihre Mitgliedschaft begann, und das Datum der Beendigung ist, wenn ihre Mitgliedschaft endete. Ein Beendigungsdatum von 2100-01-01 bedeutet ein aktuelles Mitglied.Erstellen Sie eine Bit-Matrix ohne Schleife R
Ich dachte, ein guter Weg, dies zu tun wäre, um eine Bit-Matrix aus einer Mitgliedschaft Datenbank zu erstellen, die ich habe. Ich möchte Mitglied ID als Zeilen und jeden Tag als Spalte.
Die Tabelle ist wie folgt:
member_id|effective_date|termination_date
1 | 2015-06-12 | 2015-12-19
1 | 2016-03-17 | 2016-06-23
2 | 2015-12-03 | 2100-01-01
Ich habe es zu tun mehrere Schleifen zu arbeiten, aber es dauert ewig. Wie kann ich das mit R effizienter gestalten? Mein Endziel ist es, Kunden mit weniger als zwei Mitgliederlücken im vergangenen Jahr zu identifizieren, und die Lücke beträgt weniger als 60 Tage.
Danke für die Hilfe.
Edit: Ich werde in der Lage sein, die Jahresspanne zu ändern. Ich habe derzeit
past_year = c(seq(as.Date('2015-07-01'),as.Date('2016-06-30'),'day'))
Ich würde eine Lücke zu jeder Zeit ein Mitglied hatte keine Mitgliedschaft während der Bandbreite, die ich betrachte. In obigem Beispiel für "past_year" wäre eine Lücke zwischen 2015-07-01 und 2016-06-30 immer dann vorhanden, wenn sie nicht Mitglied sind. Beide Mitglieder in der Tabelle würden als Lücken betrachtet werden.
Ich denke, ein wenig mehr Daten sind notwendig. Mit "das letzte Jahr" meinst du 2015 oder 365 Tage vor heute? Wenn ein Mitglied nur eine Zeile im Datensatz hat, zählt das als "keine Lücken" oder würde ein Beendigungsdatum vor dem heutigen Tag als eine Lücke gelten? – jdobres
@jdobres Danke für einen Blick. Ich habe die Frage aktualisiert – badger0053