Gegeben sei folgender Datensatz:
Code: Alles auswählen
"1";"2016-09-29";83
"2";"2016-09-30";80
"3";"2016-10-01";78
"4";"2016-10-03";77
"5";"2016-10-04";75
"6";"2016-10-05";73
"7";"2016-10-06";69
"8";"2016-10-07";62
"9";"2016-10-08";60
"10";"2016-10-10";58
"11";"2016-10-11";56
"12";"2016-10-12";55
"13";"2016-10-13";53
"14";"2016-10-14";49
"15";"2016-10-15";48
"16";"2016-10-17";46
"17";"2016-10-18";44
"18";"2016-10-19";43
"19";"2016-10-20";41
"20";"2016-10-21";38
"21";"2016-10-22";36
"22";"2016-10-24";34
"23";"2016-10-25";33
"24";"2016-10-26";32
"25";"2016-10-27";30
"26";"2016-10-28";27
"27";"2016-10-29";26
"28";"2016-11-01";24
"29";"2016-11-02";22
"30";"2016-11-03";19
"31";"2016-11-04";16
"32";"2016-11-05";14
"33";"2016-11-07";12
"34";"2016-11-08";10
Dieser Datensatz ist nicht vollständig. Mich interessiert nun die "Lebensdauer" (in Tagen) von x.
Der Format von Datum ist Date, und von Wert x num.
Um die Start- und End-Werte zu bekommen verwende ich die lineare Regression:
Code: Alles auswählen
model.lm<-lm(TestData$x~TestData$Datum)
Da model.lm y=Intercept+(x*beta) liefert, und ich an x interessiert bin, muss ich noch in (y-Intercept)/beta=x umformen.
Code: Alles auswählen
(Wert-(model.lm$coefficients[1]))/model.lm$coefficients[2]
Das Problem bei mir ist nun, dass natürlich ein numerischer Wert aus dieser Formel rauskommt.
Nun möchte ich
Code: Alles auswählen
Ende-Start
Hier weiß ich leider nicht, wie ich diesen Wert in "Tage" umwandeln kann.
Für den Endwert bekommen ich end=69076.27 und für den Startwert start=69477.26
Nun habe ich mit
Code: Alles auswählen
as.Date(end, origin="1900-01-01")
Als Ergenbis erhalte ich "2089-02-14" was überhaupt nicht hinkommen kann.
(Meine Hoffnung war, dass ich anschließend mit difftime, das Gewünschte Ergebnis erlange)
Also eventuell meine Frage ganz allgemein:
Wie geht man mit Datum-Variable in lm um.
Ich hätte erwartet, dass es ein absolut Standard Problem ist, bin aber mit Google nicht wirklich weiter gekommen.
Bin wirklich am verzweifeln.
Ich bedanke mich für eure Antworten im Voraus.