在 R 中子集 DataFrame

Subsetting a DataFrame in R

我无法在 R 中对 DataFrame 进行子集化。 数据框看起来像这样

  carat       cut color clarity depth table price    x    y    z
1  0.23     Ideal     E     SI2  61.5    55   326 3.95 3.98 2.43
2  0.21   Premium     E     SI1  59.8    61   326 3.89 3.84 2.31
3  0.23      Good     E     VS1  56.9    65   327 4.05 4.07 2.31
4  0.29   Premium     I     VS2  62.4    58   334 4.20 4.23 2.63
5  0.31      Good     J     SI2  63.3    58   335 4.34 4.35 2.75
6  0.24 Very Good     J    VVS2  62.8    57   336 3.94 3.96 2.48

我用来对其进行子集化的代码如下所示

subset(diamonds, color = D)

无论出于何种原因,子集数据帧都没有被正确过滤。当我在后面看它时,它包含的颜色不仅仅是字母 D。有人可以向我解释为什么会这样吗?还有我该如何修复它?

请记住,我是 R 的新手

subset(diamonds, color == 'D')

是您子集化的方式,并且在文档中有很好的介绍。

虽然为 Sidhha 指出的选项对于可读性很好,但有些人认为,包括 subset 帮助文件中的警告,最好使用 [ 等标准子集函数. Hadley Wickham 对此进行了讨论 here, and here

因此,有时使用 Heroka 在评论中写的标准子集函数 [ 更可取:

diamonds[diamonds$color == "D", ]