Ich möchte eine bestehende Vektorgröße n
machen und NA
verwenden. Ich weiß, ich kann Pad am Ende des Vektors in etwa so:Wie kann ich einen Vektor mit NA von vorne auffüllen?
v1 <- 1:10
v2 <- diff(v1)
length(v2) <- length(v1)
v2
# 1 1 1 1 1 1 1 1 1 NA
Aber ich will in eine generic Weise die NA
am beginnning statt füllen. Ich meine, für dieses spezielle Beispiel kann ich nur
v2 <- c(NA, diff(v1))
# NA 1 1 1 1 1 1 1 1 1
Aber ich hatte gehofft, dass es eine gewisse Basis R-Funktion oder Bibliothek vorhanden sind, die so etwas wie v2 <- pad(v2, n=length(v1), value=NA)
Gibt es so etwas sieht ich das selbst verwenden aus oder muss ich meine eigene Funktion definieren:
pad <- function(x, n) { # ugly function that doesn't keep the attributes of x
len.diff <- n - length(x)
c(rep(NA, len.diff), x)
}
pad(1:10, 12) # NA NA 1 2 3 4 5 6 7 8 9 10
Ich glaube nicht, dass Ihre Funktion hässlich ist. – nicola
Ich glaube nicht, dass deine Funktion auch hässlich ist. Warum nicht n = 1 setzen und dann haben Sie Ihr Problem gelöst. – user1945827
Für "NA" Padding können Sie auch 'v1 <- 1:10; v2 <- diff (v1); Länge (v2) <- Länge (v1); v2 [order (! is.na (v2))] ' –