Seite 1 von 1

Zeilen nach unten verschieben

Verfasst: Di Okt 15, 2019 7:51 pm
von MarinaGrey02
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?

Re: Zeilen nach unten verschieben

Verfasst: Mi Okt 16, 2019 8:38 am
von jogo
Hallo Marina,

willkommen im Forum!
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.
diese Frage scheint im Zusammenhang mit Deiner anderen zu stehen (Regression mit laged variables)
Danach bereinige ich meine Tabelle mit: daten <- data[complete.cases(daten),]
Dies macht die Funktion lm() auch von sich aus. Es gibt dann im output von summary() einen entsprechenden Hinweis.

Code: Alles auswählen

B <- BOD
B$demand[3] <- NA
BOD
summary(lm(demand ~ Time, data=B))
... (1 observation deleted due to missingness)

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))
Gruß, Jörg