似乎which()
函数有点多余,因为您已经可以像这样对data.frame进行子集化:
data1[data1$foo>0,]
不使用which()
。
何时必要与which()
答案 0 :(得分:2)
存在NA值时会出现差异:
dd <- data.frame(a = c(-1, NA, 1), b = 2)
ok <- dd$a > 0
dd[which(ok),]
## a b
## 3 1 2
dd[ok, ]
## a b
## NA NA NA
## 3 1 2
答案 1 :(得分:0)
data1[data1$foo>0,]
这会给你布尔值:
赞T F T F
另外,如果您有subset(data1,foo>0)
NA
data1[which(data1$foo>0),]
回复T
赞1,3