2

R は、数値の csv 化されたリストをベクトルに変換する R コア ライブラリの一部である関数で、数値の csv 化されたリスト (カンマ区切り値、つまり1, 2, 3) をラップします。c()

これらのベクトルは Ruby または Java 配列のように見えますが、これらの csv 化されたリストc()[]. 配列は実際にはベクトルのサブセットのようです。本当ですか?もしそうなら、これは配列と行列に関して何を意味するのでしょうか?

私が見つけた主題に関するある議論では、配列は静的ベクトルであると述べられていました。しかし、Ruby では、配列は静的ではありません。Rubyでは、配列はベクトルですか?

4

1 に答える 1

3

そうです、R では、配列は、配列の次元を与える属性を備えた単なるベクトルです。

から?array:

詳細:

R の配列は、1 つ、2 つ、またはそれ以上の次元を持つことができます。これは、次元 (属性 '"dim"') とオプションでそれらの次元の名前 (属性 '"dimnames"') を指定する追加の属性と共に格納される単純なベクトルです。

2 次元配列は「行列」と同じものです。

1 次元配列はしばしばベクトルのように見えますが、一部の関数では異なる方法で処理される場合があります。R の最近のバージョンでは、'str' によって区別されます。

'"dim"' 属性は、負でない値を含む 1 つ以上の長さの整数ベクトルです。値の積は、配列の長さと一致する必要があります。

おそらく、これを自分で確認する最も簡単な方法は、次のように、ベクトル、行列、および高次元配列を確認することです。

a <- array(1:12, dim=c(2,2,3))
m <- matrix(1:4, ncol=2)
v <- c(1,2)

is(a)
# [1] "array"     "matrix"    "structure" "vector"    "vector"  
is(m)
# [1] "matrix"    "array"     "structure" "vector"
is(v)
# [1] "numeric" "vector" 

attributes(a)
# $dim
# [1] 2 2 3
attributes(m)
# $dim
# [1] 2 2
attributes(v)
# NULL

## Finally, try this
v <- 1:12
dim(v) <- c(2,2,3)
v
于 2012-10-05T20:20:18.443 に答える