Comment créer un vecteur numérique de longueur nulle en R

Je me demande comment créer un vecteur numérique de longueur zéro dans R?

Si vous lisez l’aide pour vector (ou numeric ou logical ou character ou integer ou double , ‘raw’ ou complex etc) alors vous verrez qu’ils ont tous une length (ou length.out argument qui est par défaut 0

Donc

 numeric() logical() character() integer() double() raw() complex() vector('numeric') vector('character') vector('integer') vector('double') vector('raw') vector('complex') 

Tous renvoient des vecteurs de longueur 0 des modes atomiques appropriés.

 # the following will also return objects with length 0 list() expression() vector('list') vector('expression') 

Simplement:

 x <- vector(mode="numeric", length=0) 

Supposons que vous souhaitiez créer un vecteur x dont la longueur est zéro. Maintenant, laissez v n’importe quel vecteur.

 > v<-c(4,7,8) > v [1] 4 7 8 > x<-v[0] > length(x) [1] 0 

Ce n’est pas une très belle réponse, mais c’est ce que j’utilise pour créer des vecteurs de longueur zéro:

 0[-1] # numeric ""[-1] # character TRUE[-1] # logical 0L[-1] # integer 

Un littéral est un vecteur de longueur 1 et [-1] supprime le premier élément (le seul élément dans ce cas) du vecteur, laissant un vecteur avec zéro élément.

En bonus, si vous voulez un seul NA du type respectif:

 0[NA] # numeric ""[NA] # character TRUE[NA] # logical 0L[NA] # integer