Merak ediyorum, R'de sayısal sıfır uzunluklu bir vektörü nasıl oluşturabilirim?
Merak ediyorum, R'de sayısal sıfır uzunluklu bir vektörü nasıl oluşturabilirim?
Yanıtlar:
Yardımı vector
(veya numeric
veya logical
veya character
veya integer
veya double
'ham' veya complex
vb.) Okursanız, hepsinin bir length
(veya length.out
varsayı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')
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
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, NA
ilgili türden bir tane istiyorsanız :
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer
numeric(0)
.