回答:
vector
(or numeric
or logical
or character
or integer
or double
、 'raw' or complex
etc)のヘルプを読むと、それらすべてにlength
(またはlength.out
デフォルトで0の引数がある)ことがわかります。
したがって
numeric()
logical()
character()
integer()
double()
raw()
complex()
vector('numeric')
vector('character')
vector('integer')
vector('double')
vector('raw')
vector('complex')
すべてが適切なアトミックモードの長さ0のベクトルを返します。
# the following will also return objects with length 0
list()
expression()
vector('list')
vector('expression')
長さがゼロのベクトルxを作成するとします。ここでvを任意のベクトルとします。
> v<-c(4,7,8)
> v
[1] 4 7 8
> x<-v[0]
> length(x)
[1] 0
これはあまり美しい答えではありませんが、長さゼロのベクトルを作成するために使用するものです。
0[-1] # numeric
""[-1] # character
TRUE[-1] # logical
0L[-1] # integer
リテラルは長さ1のベクトルであり[-1]
、最初の要素を削除します(唯一の要素)この場合要素)をベクトルからが0のベクトルを残します。
おまけとしてNA
、それぞれのタイプの1つが必要な場合:
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer
numeric(0)
。