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


Réponses:


112

Si vous lisez l'aide pour vector(ou numericou logicalou characterou integerou double, 'raw' ou complexetc), vous verrez qu'ils ont tous un length(ou un length.outargument 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')

1
Je m'excuse pour le vote négatif; c'était complètement accidentel et j'ai juste remarqué que c'était arrivé. Cela ne me laissera pas changer. Désolé.
Stuart R. Jefferys

1
Et si le vecteur vide est destiné à contenir des dates, qu'utiliseriez-vous?
Zelbinian

@Zelbinian C'est une curiosité. Qu'essayez-vous de réaliser en faisant cela?
BroVic


4

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

1
Je ne sais pas ce qui se passe là-bas. Encore une fois, ma réponse est notée. Pourquoi??? Je veux savoir une explication. Quelqu'un peut-il me dire pourquoi ma réponse est notée?
Md. Sahidul Islam

Vous prenez la longueur de l'élément vectoriel.
upInCloud

2
La longueur est la preuve que le vecteur numérique (ici x) a un vecteur de longueur nulle. Et le vecteur x est créé à partir de n'importe quel autre vecteur. Donc x est le vecteur souhaité de longueur nulle. Vous devez également vérifier clairement l'en-tête du problème? @ShaaradDalvi
Md. Sahidul Islam

3

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 NAdu type respectif:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.