Como criar um vetor numérico de comprimento zero em R


Respostas:


112

Se você ler a ajuda para vector(ou numericou logicalou characterou integerou double, 'bruto' ou complexetc), você verá que todos eles têm um length(ou length.outargumento cujo padrão é 0

Portanto

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

Todos retornam vetores de comprimento 0 dos modos atômicos apropriados.

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

1
Peço desculpas pelo voto negativo; foi completamente acidental e eu apenas percebi que tinha acontecido. Não vai me deixar mudar. Desculpe.
Stuart R. Jefferys

1
E se o vetor vazio se destina a conter datas, o que você usaria?
Zelbinian

@Zelbinian Isso é uma curiosidade. O que você está tentando alcançar fazendo isso?
BroVic,

57

Simplesmente:

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

4

Suponha que você queira criar um vetor x cujo comprimento é zero. Agora, seja v qualquer vetor.

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

1
Eu não sei o que está acontecendo lá. Mais uma vez, minha resposta é anotar. Por quê??? Eu quero saber a explicação. Alguém pode me responder por que minha resposta foi reduzida?
Md. Sahidul Islam

Você está medindo o comprimento do elemento vetorial.
upInCloud

2
Comprimento é a prova de que o vetor numérico (aqui x) tem vetor de comprimento zero. E o vetor x é criado a partir de qualquer outro vetor. Portanto, x é o vetor desejado de comprimento zero. Além disso, você deve verificar o título do problema claramente. @ShaaradDalvi
Md. Sahidul Islam

3

Esta não é uma resposta muito bonita, mas é o que eu uso para criar vetores de comprimento zero:

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

Um literal é um vetor de comprimento 1 e [-1]remove o primeiro elemento (o único elemento neste caso) do vetor, deixando um vetor com zero elementos.

Como um bônus, se você quiser um NAdo respectivo tipo:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.