Comment initialiser un vecteur de longueur fixe en R ??
Par exemple, je veux un vecteur de caractères d’une longueur de 10 ??
?vector
X <- vector(mode="character", length=10)
Cela vous donnera des chaînes vides. Ils peuvent être indexés par lieu. Le nombre de caractères ne sera pas limité, donc si vous vous attendiez à obtenir 10 éléments de caractère, vous serez déçu.
> 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
Si vous souhaitez initialiser un vecteur avec des valeurs numériques autres que zéro, utilisez rep
n <- 10
v <- rep(0.05, n)
v
qui vous donnera:
[1] 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05
La méthode d’initialisation la plus facile à retenir est
vec = vector(,10); #the same as "vec = vector(length = 10);"
Les valeurs de vec sont: "[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE" (mode logique) par défaut.
Mais après avoir défini une valeur de caractère, comme
vec[2] = 'abc'
vec devient: "FALSE" "abc" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" "FALSE" ", qui est du mode caractère.