R言語でサブリストを抽出する
R言語では中括弧 [ ] を使って部分リストを取り出すことができます。一般的な用途の一部を紹介します:
- 行と列のインデックスを使用してサブリストを取得する: [行, 列] の形式を使用し、サブリストを取得する。例えば、list[1:3, 2:4] は1 行目から 3 行目、2 列目から 4 列目のサブリストを取得します。
- 論理インデックスを用いてサブリストを抽出する:論理ベクトルを使用して抽出する行または列を選択する。例えば、list[行論理ベクトル、列論理ベクトル] は、行論理ベクトルと列論理ベクトルに基づいて抽出するサブリストを表す。論理ベクトルの長さは、抽出する次元の長さと同じでなければならない。
- 変数名でサブリストを取り出す:リストの次元ラベルが変数名の場合、変数名を使用してサブリストを取り出すことができます。たとえば、list[“行変数名”, “列変数名”] は行変数名と列変数名に対応するサブリストを取り出します。
- インデックスベクトルを使用して部分リストを抽出する:インデックスベクトルを使用して部分リストを抽出できます。たとえば、list[c(1, 3, 5),] は、インデックスが 1、3、および 5 の行の部分リストを抽出することを示します。
なお、extractの結果はリスト構造のままであるため、ベクトルまたは行列として扱いたい場合は、unlist()関数でベクトル化するか、as.matrix()関数で行列化します。