Come creare un vettore numerico di lunghezza zero in R


Risposte:


112

Se leggi la guida per vector(o numerico logicalo charactero integero double, 'grezzo' o complexecc.), Vedrai che hanno tutti un length(olength.out argomento il cui valore predefinito è 0

Perciò

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

Tutti restituiscono 0 vettori di lunghezza dei modi atomici appropriati.

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

1
Mi scuso per il voto negativo; è stato completamente casuale e mi sono accorto solo che era successo. Non mi permetterà di cambiare. Scusate.
Stuart R. Jefferys

1
E se il vettore vuoto è destinato a contenere le date, cosa useresti?
Zelbinian

@Zelbinian Questa è una curiosità. Cosa stai cercando di ottenere in questo modo?
BroVic

57

Semplicemente:

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

4

Supponiamo di voler creare un vettore x la cui lunghezza sia zero. Ora sia v un vettore qualsiasi.

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

1
Non so cosa stia succedendo lì. Anche in questo caso la mia risposta è segnata. Perché??? Voglio sapere una spiegazione. Qualcuno può darmi una risposta perché la mia risposta segna?
Md. Sahidul Islam

Stai prendendo la lunghezza dell'elemento vettoriale.
upInCloud

2
La lunghezza è la prova che il vettore numerico (qui x) ha un vettore di lunghezza zero. E il vettore x viene creato da qualsiasi altro vettore. Quindi x è il vettore desiderato di lunghezza zero. Inoltre dovresti controllare chiaramente l'intestazione del problema? @ShaaradDalvi
Md. Sahidul Islam

3

Questa non è una risposta molto bella, ma è ciò che uso per creare vettori di lunghezza zero:

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

Un letterale è un vettore di lunghezza 1 e [-1]rimuove il primo elemento (l' unico elemento in questo caso) dal vettore, lasciando un vettore con zero elementi.

Come bonus, se vuoi un singolo NAdel rispettivo tipo:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.