wake-up-neo.com

Initialisieren eines Vektors mit fester Länge in R

Wie initialisiere ich einen Vektor mit fester Länge in R ??

Zum Beispiel möchte ich einen Vektor mit Zeichen mit einer Länge von 10 ??

26
ToBeGeek
?vector

X <- vector(mode="character", length=10)

Dadurch erhalten Sie leere Zeichenfolgen. Sie können nach Standort indiziert werden. Die Anzahl der Zeichen ist nicht eingeschränkt. Wenn Sie also ein Element mit 10 Zeichen erwartet haben, werden Sie enttäuscht.

>  X[5] <- "character element in 5th position"

>  X
 [1] ""                                  ""                                 
 [3] ""                                  ""                                 
 [5] "character element in 5th position" ""                                 
 [7] ""                                  ""                                 
 [9] ""                                  "" 
>  nchar(X)
 [1]  0  0  0  0 33  0  0  0  0  0

> length(X)
[1] 10
39
42-

Wenn Sie einen Vektor mit anderen numerischen Werten als Null initialisieren möchten, verwenden Sie rep.

n <- 10
v <- rep(0.05, n)
v

was dir geben wird:

[1] 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
16
Alexander

Die am einfachsten zu merkende Initialisierungsmethode ist 

vec = vector(,10); #the same as "vec = vector(length = 10);"

Die Werte von vec lauten standardmäßig: "[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE" (logischer Modus). 

Aber nachdem Sie einen Zeichenwert eingestellt haben, wie

vec[2] = 'abc'

vec wird: "FALSE" "abc" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" ". Dies ist der Zeichenmodus.

5
Tom

Der Vollständigkeit halber können Sie einfach den gewünschten Datentyp nehmen und Klammern mit der Anzahl der Elemente wie folgt hinzufügen:

x <- character(10)

0
vonjd