「 RforDummies 」のチートシートからの引用:
Rオブジェクトのサブセット化
ベクトル、リスト、およびデータフレームは、Rでデータを表す際に重要な役割を果たします。そのため、データのサブセットを簡潔かつ正確に指定できることが重要です。
3つの演算子を使用して、データをサブセット化できます。
[[:リストまたはデータフレームから名前または位置で単一の要素を抽出します。たとえば、データフレームアイリスからiris[["Sepal.Length"]]列を抽出します。アイリスから2番目の要素を抽出します。Sepal.Lengthiris[[2]]
[:ベクトル、配列、リスト、またはデータフレームから複数の要素を抽出します。たとえばiris[, c("Sepal.Length", "Species")]、列Sepal.Lengthを抽出し、Species虹彩から抽出します。iris[1:10, ]アイリスから最初の10行を抽出します。そしてiris[1:10, "Species"]、虹彩から種の列の最初の10個の要素を抽出します。
?Extractうまく要約されていませんが、同じ情報を見つけることができます;-)
私の推測では、[<-これは遅い操作であることがわかっているので、プロファイリングの問題があります。[<-データフレームに複数の列が割り当てられたループがある可能性があります。これを大幅に高速化するには、次の方法があります。
- 複数の列の単一の割り当てを行う
- パッケージの使用
data.table