Cómo crear un vector numérico de longitud cero en R


Respuestas:


112

Si lees la ayuda para vector(o numerico logicalo charactero integero double, 'raw' o complexetc.), verás que todos tienen un length(o length.outargumento cuyo valor predeterminado es 0

Por lo tanto

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

Todos devuelven vectores de longitud 0 de los modos atómicos apropiados.

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

1
Pido disculpas por el voto negativo; fue completamente accidental y solo me di cuenta de que había sucedido. No me dejará cambiar. Lo siento.
Stuart R. Jefferys

1
Y si el vector vacío está destinado a contener fechas, ¿qué usarías?
Zelbinian

@Zelbinian Eso es una curiosidad. ¿Qué estás tratando de lograr al hacer eso?
BroVic


4

Suponga que desea crear un vector x cuya longitud sea cero. Ahora sea v cualquier vector.

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

1
No sé qué está pasando ahí. Nuevamente mi respuesta es rebajar. ¿¿¿Por qué??? Quiero saber una explicación. ¿Alguien puede darme una respuesta por qué mi respuesta está abajo?
Md. Sahidul Islam

Estás tomando la longitud del elemento vectorial.
upInCloud

2
La longitud es el probado que, el vector numérico (aquí x) tiene un vector de longitud cero. Y el vector x se crea a partir de cualquier otro vector. Entonces x es el vector deseado de longitud cero. ¿También debería comprobar claramente el título del problema? @ShaaradDalvi
Md. Sahidul Islam

3

Esta no es una respuesta muy hermosa, pero es lo que uso para crear vectores de longitud cero:

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

Un literal es un vector de longitud 1 y [-1]elimina el primer elemento (el único elemento en este caso) del vector, dejando un vector con cero elementos.

Como beneficio adicional, si quieres uno NAdel tipo respectivo:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.