R には、リストまたはデータフレームの要素にアクセスするための 2 つの異なるメソッドが用意されています:[]
および[[]]
。
これら 2 つの違いは何ですか。また、どちらを使用するのが適切ですか。
ベストアンサー1
R 言語定義は、次のような質問に答えるのに便利です。
Rには3つの基本的なインデックス演算子があり、構文は次の例のようになります。
x[i] x[i, j] x[[i]] x[[i, j]] x$a x$"a"
ベクトルと行列の場合、
[[
形式はほとんど使用されませんが、 形式とは若干意味的に異なります[
(例: names または dimnames 属性が削除され、文字インデックスには部分一致が使用されます)。 単一のインデックスを使用して多次元構造をインデックス付けする場合、x[[i]]
または はの 番目の連続要素x[i]
を返します。i
x
リストの場合、通常は を使って
[[
単一の要素を選択しますが、 は[
選択された要素のリストを返します。この
[[
フォームでは、整数または文字インデックスを使用して 1 つの要素のみを選択できますが、[
ベクトルによるインデックス付けは可能です。ただし、リストの場合、インデックスはベクトルにすることができ、ベクトルの各要素はリスト、選択されたコンポーネント、そのコンポーネントの選択されたコンポーネントなどに順番に適用されることに注意してください。結果は依然として 1 つの要素です。