'子集'的奇怪问题

Wil*_*lco 3 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 
Run Code Online (Sandbox Code Playgroud)

现在,这个变量应该总是非负的,所以我想通过子集划分的数据框来检查负值DF到数据帧PROBS.但如果我试试这个:

PROB <- subset[DF, v1 < 0]
Run Code Online (Sandbox Code Playgroud)

我明白了:

Error: object "v1" not found
Run Code Online (Sandbox Code Playgroud)

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

有没有人知道这种奇怪行为的原因?我从未遇到任何问题subset!

谢谢.

Eri*_*lts 6

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

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