Jak utworzyć wektor numeryczny o zerowej długości w R


Odpowiedzi:


112

Jeśli przeczytasz pomoc dotyczącą vector(lub numericlub logicallub characterlub integerlub double, 'surowe' lub complexitp.), Zobaczysz, że wszystkie mają length(lub length.outargument, który domyślnie wynosi 0

W związku z tym

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

Wszystkie zwracają wektory o długości 0 odpowiednich modów atomowych.

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

1
Przepraszam za głos przeciw; to było całkowicie przypadkowe i dopiero co zauważyłem, że się wydarzyło. Nie pozwala mi się zmienić. Przepraszam.
Stuart R. Jefferys

1
A jeśli pusty wektor ma przechowywać daty, czego byś użył?
Zelbinian

@Zelbinian To ciekawostka. Co starasz się przez to osiągnąć?
BroVic


4

Załóżmy, że chcesz utworzyć wektor x, którego długość wynosi zero. Teraz niech v będzie dowolnym wektorem.

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

1
Nie wiem, co się tam dzieje. Ponownie moja odpowiedź brzmi: zaniżona. Czemu??? Chcę poznać wyjaśnienie. Czy ktoś może mi odpowiedzieć, dlaczego moja odpowiedź została oznaczona jako obniżona?
Md. Sahidul Islam

Bierzesz długość elementu wektorowego.
upInCloud

2
Długość to udowodnione, że wektor numeryczny (tutaj x) ma wektor o zerowej długości. Wektor x jest tworzony z dowolnego innego wektora. Zatem x jest pożądanym wektorem o zerowej długości. Powinieneś także wyraźnie sprawdzić nagłówek problemu? @ShaaradDalvi
Md. Sahidul Islam

3

To nie jest zbyt piękna odpowiedź, ale to jest to, czego używam do tworzenia wektorów o zerowej długości:

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

Literał to wektor o długości 1 i [-1]usuwa pierwszy element ( w tym przypadku jedyny ) z wektora, pozostawiając wektor z zerowymi elementami.

Jako bonus, jeśli chcesz singla NAodpowiedniego typu:

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.