Ich habe einen Datenrahmen namens "Einschreibungen":Wie kann ich den Unterschied zwischen zwei Daten im Faktor finden?
enrolled_at, unenrolled_at und fully_participated_at Faktoren sind. Ich möchte meinem Datenrahmen eine neue Spalte hinzufügen, die die Unterschiede in Stunden zwischen zwei nicht leeren Attributen angibt. Der Typ dieser neuen Spalte ist nicht wichtig, aber sie muss Zeit in diesem Format anzeigen (HH MM SS).
Ich möchte folgende Pseudo-Code tun:
If (unenrolled_at == empty && fully_participated_at != empty)
newAttributeValue = fully_participated_at - enrolled_at
else if (unenrolled_at != empty && fully_participated_at == empty)
newAttributeValue = unenrolled_at - enrolled_at
else
do nothing
Edit: Ich habe versucht, alle Methoden in der Website, dies zu tun, aber sie funktioniert nicht. Zeiten, die als Faktorklasse in meinem Datenrahmen gespeichert sind, aber Lösungen in der Site sind Faktor - Faktor oder (String) Zeit - (String) Zeit. Ich habe auch "as.character" und "as.Date" -Funktionen ausprobiert. Also meine Frage ist nicht doppelt. Rolando Tamayo bietet verschiedene Verfahren, mein Problem zu lösen, aber es gibt mir eine Fehlermeldung: „Fehler in ymd_hms (Kommentare $ unenrolled_at): konnte nicht Funktion finden‚ymd_hms‘“ (I lubridate Paket installiert)
bitte Ihre Daten als editierbaren Text enthalten, anstelle des Bildes –
ersten Zeichen Konvertieren mit 'as.character', wandeln dann das Datumsformat mit' as.Date' – useR
Ich versuchte es vor die Frage stellen aber es gab diesen Fehler: Fehler in charToDate (x): Zeichenkette ist nicht in einem Standard unzweideutigen Format --- Erprobter Befehl: Difftime (as.Date (as.character (Einschreibungen $ unenrolled_at)) - as.Date (als .character (Einschreibungen $ immatrikulierte_))) –