R中用双括号后跟括号

时间:2017-05-28 19:01:43

标签: r histogram

我附上了我所指的数据帧的屏幕截图。 dataframe

运行hist(don$TGiving[don$TGiving!=0][don$TGiving[don$TGiving!=0]<=1000])之类的语句会生成如下所示的直方图:histogram

我无法理解如何解释表达式中的双方括号[] [[]]。我确实知道[[]]是如何工作的,但在R中无法理解[] [[]]。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您有一个向量v,以及与lv长度相同的逻辑向量vv[lv]返回v的子集,仅保留lvTRUE的行。我们将v_lv返回的向量命名为v[lv]v_lv的长度等于sum(lv==TRUE)。 现在,如果您有v[lv][v[lv]<x],则可以将其重写为v_lv[v_lv<x]。 这又是v_lv的一个子集,仅保留逻辑表达式(v_lv<x)TRUE的行。

在您的示例中,您对向量don$TGiving进行了一次子集以仅保留与0不同的行,然后再次对结果向量进行子集以仅保留<=10000的行。您也可以同时执行两个子集,v[lv1][lv2]v[lv1 & lv2]相同。