Tôi tự hỏi, làm cách nào để tạo một vectơ có độ dài bằng 0 dạng số trong R?
Tôi tự hỏi, làm cách nào để tạo một vectơ có độ dài bằng 0 dạng số trong R?
Câu trả lời:
Nếu bạn đọc sự giúp đỡ cho vector
(hoặc numeric
hoặc logical
hoặc character
hoặc integer
hoặc double
, 'thô' hoặc complex
vv) sau đó bạn sẽ thấy rằng tất cả họ đều có một length
(hoặc length.out
lập luận mà mặc định là 0
vì thế
numeric()
logical()
character()
integer()
double()
raw()
complex()
vector('numeric')
vector('character')
vector('integer')
vector('double')
vector('raw')
vector('complex')
Tất cả đều trả về 0 vectơ độ dài của các chế độ nguyên tử thích hợp.
# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')
Giả sử bạn muốn tạo một vectơ x có độ dài bằng 0. Bây giờ cho v là một vector bất kỳ.
> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0
Đây không phải là một câu trả lời quá đẹp, nhưng đó là những gì tôi sử dụng để tạo các vectơ có độ dài bằng 0:
0[-1] # numeric
""[-1] # character
TRUE[-1] # logical
0L[-1] # integer
Một chữ là một vectơ có độ dài 1 và [-1]
loại bỏ phần tử đầu tiên ( phần tử duy nhất trong trường hợp này) khỏi vectơ, để lại một vectơ không có phần tử nào.
Như một phần thưởng, nếu bạn muốn một NA
loại tương ứng:
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer
numeric(0)
.