2017-05-28 19 views
0

私が参照しているデータフレームのスクリーンショットを添付しました。 histogram二重括弧の後に括弧が付きますR

私は式の中で、二重角括弧[] [[]]を解釈する方法を理解することができません:hist(don$TGiving[don$TGiving!=0][don$TGiving[don$TGiving!=0]<=1000])のようなステートメントを実行dataframe

次のようなヒストグラムを生成します。私はどのように[]が動作するのか知っていますが、Rの意味を理解できません。

ありがとう。

+0

あなたの明細書に ']'がありません。あなたのスクリーンショットは届かなかった。これはちょうど部分集合で、 '?[' – G5W

+0

私はこの説明が役に立ちます(データフレームは単なるリストです)http://r4ds.had.co.nz/vectors.html#lists – Phil

+2

のようになりますそれは 'ドン$ TGiving [ドン$ TGiving!= 0&ドン$ TGiving <= 1000]'ですか? – lukeA

答えて

1

あなたはlvTRUEある行だけを維持vのサブセットを返しv[lv]ベクトルv、およびvと同じ長さの論理ベクトルlv、 を持っている場合。ベクトルv[lv]から返されたベクトルをv_lvとしましょう。 v_lvは、sum(lv==TRUE)に等しい長さを有する。 例のように、v[lv][v[lv]<x]の場合は、v_lv[v_lv<x]と書き換えることができます。 これは、論理式(v_lv<x)TRUEである行のみを保持するv_lvのサブセットです。

例では、ベクトルdon$TGivingを一度サブセット化して、0と異なる行のみを保持してから、結果のベクトルを再度サブセット化して、<=10000の行のみを保持します。両方のサブセットを同時に実行することもできます。v[lv1][lv2]v[lv1 & lv2]と同じです。