94 votes

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

Je me demande comment je peux créer un vecteur numérique de longueur nulle en R ?

112voto

mnel Points 48160

Si vous lisez l'aide pour vector (ou numeric o logical o character o integer o double , "brut" ou complex etc ), vous verrez qu'ils ont tous une length (ou length.out qui a la valeur 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 retournent 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')

57voto

srctaha Points 143

Tout simplement :

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

4voto

user3398281 Points 1

Supposons que l'on veuille créer un vecteur x dont la longueur est nulle. Maintenant, laissez v être un vecteur quelconque.

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

3voto

Aaron McDaid Points 7761

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 uniquement dans ce cas) du vecteur, laissant un vecteur avec zéro élément.

En prime, si vous voulez un seul NA du type correspondant :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X