Hallo ihr lieben,
in meiner importieren Tabelle möchte ich gerne eine Spalte um 3 Zeilen weiter nach unten setzen lassen. Bei einer Zeile weiß ich wie das geht, nämlich mit folgendem Befehl:
daten$alter <- c(NA, daten$alter[-nrow(data)])
Da ich ja NA'2 produziere durch das verschieben der Spalte muss ich das auch in meinem Befehl angeben.
Danach bereinige ich meine Tabelle mit: daten <- data[complete.cases(daten),]
Ich brauche dies für eine Multiple lineare Regression und muss es auch so darstellen wie oben erklärt. Meine Frage ist jetzt, wie sage ich R dass ich jetzt drei NAs produziere, da ich die Spalte ja um drei nach unten versetze?
Zeilen nach unten verschieben
-
- Beiträge: 14
- Registriert: Fr Okt 04, 2019 9:44 am
Re: Zeilen nach unten verschieben
Hallo Marina,
willkommen im Forum!
... (1 observation deleted due to missingness)
Nachtrag:
Im Paket data.table gibt es die Funktion shift():
Gruß, Jörg
willkommen im Forum!
diese Frage scheint im Zusammenhang mit Deiner anderen zu stehen (Regression mit laged variables)MarinaGrey02 hat geschrieben: ↑Di Okt 15, 2019 7:51 pm in meiner importieren Tabelle möchte ich gerne eine Spalte um 3 Zeilen weiter nach unten setzen lassen. Bei einer Zeile weiß ich wie das geht, nämlich mit folgendem Befehl:
daten$alter <- c(NA, daten$alter[-nrow(data)])
Da ich ja NA'2 produziere durch das verschieben der Spalte muss ich das auch in meinem Befehl angeben.
Dies macht die Funktion lm() auch von sich aus. Es gibt dann im output von summary() einen entsprechenden Hinweis.Danach bereinige ich meine Tabelle mit: daten <- data[complete.cases(daten),]
Code: Alles auswählen
B <- BOD
B$demand[3] <- NA
BOD
summary(lm(demand ~ Time, data=B))
Nachtrag:
Im Paket data.table gibt es die Funktion shift():
Code: Alles auswählen
library("data.table")
x <- (1:10)
data.frame(x=x, x1=shift(x), x2=shift(x, 2))