Mi chiedo, come posso creare un vettore numerico di lunghezza zero in R?
Mi chiedo, come posso creare un vettore numerico di lunghezza zero in R?
Risposte:
Se leggi la guida per vector
(o numeric
o logical
o character
o integer
o double
, 'grezzo' o complex
ecc.), 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')
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
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 NA
del rispettivo tipo:
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer
numeric(0)
.