我注意到,当我使用which()
时,有时会得出与单纯的子集不同的结果。假设我有:
v <- data.frame(col1=c(1,2,3,NA), col2=LETTERS[1:4])
v
col1 col2
1 1 A
2 2 B
3 3 C
4 NA D
如果我只是使用普通子集:
v[v$col1 > 2,]
col1 col2
3 3 C
NA NA <NA>
如果我使用哪个:
v[which(v$col1 > 2),]
col1 col2
3 3 C
如果我没有NA,结果是否会有所不同?还是我应该使用which()
v。普通子集时有规则?