Rにゼロ長の数値ベクトルを作成するにはどうすればよいのでしょうか。
単に:
x <- vector(mode="numeric", length=0)
長さがゼロのベクトル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]
は最初の要素(この場合はonly要素)をベクトルから削除し、要素がゼロのベクトルを残します。
ボーナスとして、それぞれのタイプの単一のNA
が必要な場合:
0[NA] # numeric
""[NA] # character
TRUE[NA] # logical
0L[NA] # integer