R'de sıfır uzunlukta sayısal bir vektör nasıl oluşturulur


Yanıtlar:


112

Yardımı vector(veya numericveya logicalveya characterveya integerveya double'ham' veya complexvb.) Okursanız, hepsinin bir length(veya length.outvarsayılan olarak 0 olan bir argüman) olduğunu göreceksiniz.

Bu nedenle

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

Tümü, uygun atomik modların 0 uzunluk vektörlerini döndürür.

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

1
Olumsuz oylama için özür dilerim; tamamen tesadüfi oldu ve sadece olduğunu fark ettim. Değişmeme izin vermeyecek. Afedersiniz.
Stuart R. Jefferys

1
Ve boş vektörün tarihleri ​​tutması amaçlanıyorsa, ne kullanırsınız?
Zelbinian

@Zelbinian Bu bir merak. Bunu yaparak ne elde etmeye çalışıyorsun?
BroVic


4

Uzunluğu sıfır olan bir x vektörü oluşturmak istediğinizi varsayalım. Şimdi v herhangi bir vektör olsun.

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

1
Orada ne olduğunu bilmiyorum. Yine cevabım işaretleme. Neden??? Açıklamayı bilmek istiyorum. Biri bana cevap verebilir mi, cevabımın neden düştüğü?
Md. Sahidul Islam

Vektör elemanının uzunluğunu alıyorsunuz.
upInCloud

2
Uzunluk, sayısal vektörün (burada x) sıfır uzunluk vektörüne sahip olduğu kanıtlanmıştır. Ve x vektörü başka herhangi bir vektörden oluşturulur. Yani x, istenen sıfır uzunluk vektörüdür. Ayrıca sorunun başlığını açıkça kontrol etmelisiniz? @ShaaradDalvi
Md. Sahidul Islam

3

Bu çok güzel bir cevap değil, ancak sıfır uzunluklu vektörler oluşturmak için kullandığım şey bu:

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

Değişmez değer, uzunluk 1 olan bir vektördür ve [-1]ilk öğeyi ( bu durumda tek öğe) vektörden kaldırarak sıfır elemanlı bir vektör bırakır.

Bonus olarak, NAilgili türden bir tane istiyorsanız :

0[NA]     # numeric
""[NA]    # character
TRUE[NA]  # logical
0L[NA]    # integer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.