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