'子集'的奇怪问题

时间:2012-11-27 15:49:47

标签: r subset

subset我遇到一个奇怪的问题:它无法识别数据框中的变量。

例如,如果我想要数据框v1中变量DF的摘要,我会得到:

summary(DF$v1)

 Min.    1st Qu. Median  Mean   3rd Qu. Max
-123.00  4.00    14.00   84.62  49.00   13140.00 

现在,此变量应始终为非负数,因此我希望通过将数据框DF分组到数据框PROBS来检查负值。但如果我试试这个:

PROB <- subset[DF, v1 < 0]

我明白了:

Error: object "v1" not found

我很肯定我没有拼错这个变量名。我已尝试使用此数据框中的其他变量,但它一直向我抛出此错误。

有没有人知道这种奇怪行为的原因?我对subset函数没有任何问题!

感谢。

1 个答案:

答案 0 :(得分:6)

子集是一个函数,因此您应该使用subset(DF, v1 < 0)而不是方括号。

方括号用于直接对数据帧或矩阵进行子集化。 subset[DF, v1 < 0]正在尝试通过查找subset对象范围内的变量v1来对subset函数进行子集化。对象subset是一个函数,因此无法找到v1对象。