So ändern Sie die Einheiten von difftime nach der Berechnung der Werte, und nicht durch Einheiten="xxx" bei der Durchführung der Berechnungen
Ich bin der Subtraktion stammt. Im folgenden Beispiel
bb
FECHA_EFECTO_ESTADO FECHA_ANIVERSARIO_POLIZA
9 2015-11-05 09:49:00 2015-11-05
10 2015-11-05 09:51:00 2015-11-04
den Spalten sind posixct Datum-Werte. Eine neue variable erstellen, das ist der Unterschied zu den anderen Variablen, die ich verwenden könnte:
library (dplyr)
bb<-aa<-mutate(bb, day1=abs(FECHA_EFECTO_ESTADO-FECHA_ANIVERSARIO_POLIZA))
bb
FECHA_EFECTO_ESTADO FECHA_ANIVERSARIO_POLIZA day1
1 2015-11-05 09:49:00 2015-11-05 9.816667 hours
2 2015-11-05 09:51:00 2015-11-04 33.850000 hours
Standardmäßig werden die Einheiten (Tage, Stunden, Sekunden), wenn der day1-variable hängt von der Höhe der Differenz. Wenn ich die Differenz in Tagen, die ich tun könnte:
bb<-mutate(bb, day2=abs (difftime(FECHA_EFECTO_ESTADO, FECHA_ANIVERSARIO_POLIZA, units="days" )))
bb
FECHA_EFECTO_ESTADO FECHA_ANIVERSARIO_POLIZA day1 day2
1 2015-11-05 09:49:00 2015-11-05 9.816667 hours 0.4090278 days
2 2015-11-05 09:51:00 2015-11-04 33.850000 hours 1.4104167 days
Gibt es eine Möglichkeit zur Angabe der Einheiten (Tage in diesem Fall) nach Berechnungen? Ich könnte finden Sie weiter unten in der Analyse, am Liebsten hätte ich die Differenz in Stunden für die Instanz, sodass:
Wie kann ich die Einheiten der Tag1 oder Tag2 Spalten a posteriori?
Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was zurückgegeben wird
difftime
ist ein Objekt der Klasse difftime".Andere Funktion haben Methoden für difftime. Zum Beispiel, um zu konvertieren, um die Anzahl der Stunden, als numerisch:
Oder, um Wochen:
Auch, Sie könnten es nützlich finden, denken Sie daran, dass
POSIXct
Objekte sind wirklich zahlen! Sie repräsentieren die Anzahl der verstrichenen Sekunden seit‘1970-01-01 00:00.00 UTC’
, (setzt Gregorianischen Kalender).Als ein Ergebnis, kann es oft zweckmäßig sein, zu denken, der eine Zeiteinheit fester Dauer (D. H., nicht sowas wie "Monat", und die ist nicht konstant), und die Berechnung mit es. E. g., sobald Ihre Zeitdifferenz in Sekunden, es zu konvertieren, um andere Konstante (technisch gibt es eine sehr feine Skala variation in einigen von diesen, aber die meisten Anwendungen erfordern nicht die Aufmerksamkeit auf diese details) Zeiteinheiten wie Minuten, Stunden, Tage, oder Wochen.
day2
Stunden zum Beispiel; oder Spalteday1
zu Tage. Aus Ihrer Antwort kann ich nun sehen, dass wenn ichbb$day1<- as.numeric(bb$day1, units="days")
ich ändern kann, die Einheiten der Variablen Tag1 von Stunden bis zu Tagen!!Nun, Dank @rbatt habe ich gemerkt, dass in meinem Beispiel, ändern Sie die Einheiten der Variablen Tag1, ich kann
bb$day1<- as.numeric(bb$day1, units="days")
Und dies wird sich ändern Sie die Einheiten von Tagen: