Je me demande, comment puis-je créer un vecteur numérique de longueur nulle dans R?
Je me demande, comment puis-je créer un vecteur numérique de longueur nulle dans R?
Réponses:
Si vous lisez l'aide pour vector
(ou numeric
ou logical
ou character
ou integer
ou double
, 'raw' ou complex
etc), vous verrez qu'ils ont tous un length
(ou un length.out
argument qui vaut par défaut 0
Par conséquent
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')
Supposons que vous vouliez créer un vecteur x dont la longueur est nulle. Soit maintenant 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 nulle:
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 prime, si vous voulez un single NA
du type respectif:
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer
numeric(0)
.