1. ホーム
  2. r

[解決済み] リストやデータフレームの要素にアクセスするためのブラケット[ ]とダブルブラケット[[ ]]の違いについて

2022-03-16 04:25:04

質問

R では、リストまたは data.frame の要素にアクセスするための 2 つの異なるメソッドを提供しています。 [][[]] .

この2つの違いは何ですか?また、どのような場合にどちらかを使うべきですか?

どのように解決するのですか?

このような質問に答えるには、R言語定義が便利です。

Rには3つの基本的なインデックス演算子があり、以下の例でその構文が表示されます。

    x[i]
    x[i, j]
    x[[i]]
    x[[i, j]]
    x$a
    x$"a"

ベクトルや行列の場合は [[ とは若干の意味上の違いがありますが、ほとんど使われることはありません。 [ フォームを使用します (例: names または dimnames 属性を削除する、文字インデックスに部分一致を使用する)。多次元構造を1つのインデックスで表す場合。 x[[i]] または x[i] が返されます。 i の連続した要素です。 x .

リストの場合、一般的には [[ は任意の1つの要素を選択するのに対し [ は、選択された要素のリストを返します。

[[ 形式では、整数または文字のインデックスを使用して単一の要素のみを選択することができます。 [ では、ベクトルによるインデックス付けが可能です。しかし、リストの場合、インデックスをベクトルにすることができ、ベクトルの各要素はリスト、選択されたコンポーネント、そのコンポーネントの選択されたコンポーネント、に順番に適用されることに注意してください。その結果、1つの要素になります。