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
函数没有任何问题!
感谢。
答案 0 :(得分:6)
子集是一个函数,因此您应该使用subset(DF, v1 < 0)
而不是方括号。
方括号用于直接对数据帧或矩阵进行子集化。 subset[DF, v1 < 0]
正在尝试通过查找subset
对象范围内的变量v1
来对subset
函数进行子集化。对象subset
是一个函数,因此无法找到v1
对象。