2012-09-27 28 views

risposta

45

Semplicemente:

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

Se leggete l'aiuto per vector (o numeric o logical o character o integer o double, 'crudo' o complex ecc) che poi si vedrà che tutti hanno un length (o length.out argomento che default 0

Pertanto

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

Tutti i vettori di lunghezza di ritorno 0 delle modalità atomiche appropriate.

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

Mi scuso per il voto negativo; è stato del tutto casuale e ho appena notato che era successo. Non mi lascerà cambiare. Scusate. –

+1

E se il vettore vuoto è inteso per contenere le date, cosa useresti? – Zelbinian

+0

@Zelbinian Questa è una curiosità. Cosa stai cercando di ottenere facendo ciò? –

3

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

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

perché questo è segnato? – HattrickNZ

+1

Perché il mio segnaposto è inattivo? –

+1

Non so cosa sta succedendo lì. Di nuovo la mia risposta è segnata. Perché??? Voglio sapere la spiegazione. Qualcuno può darmi una risposta perché la mia risposta segna? –

1

Questa non è una risposta molto bella, ma è quello 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 (lo solo elemento in questo caso) dal vettore, lasciando un vettore con zero elementi.

Come bonus, se si vuole un unico NA del tipo rispettivo:

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