這似乎是which()
功能是有點多餘,因爲你已經可以子集這樣的data.frame:何時使用哪個()?
data1[data1$foo>0,]
不使用which()
。
是什麼時候它必要子集與which()
?
這似乎是which()
功能是有點多餘,因爲你已經可以子集這樣的data.frame:何時使用哪個()?
data1[data1$foo>0,]
不使用which()
。
是什麼時候它必要子集與which()
?
的差異出現時,有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
data1[data1$foo>0,]
這給回你的布爾值:
像T F T F
另外,推薦子集,subset(data1,foo>0)
當你有NA
data1[which(data1$foo>0),]
回饋的T
像1,3
我不認爲這是回答這個問題。 –
有時候該指數的值是很重要的位置。例如,您希望在某個事件之前*之後的*行。在這種情況下,使用'which'可以很方便,因爲您可以添加或減少1,甚至可以同時執行以獲取周圍的行。請參閱[本文](https://stackoverflow.com/questions/45961021/data-table-cutoff-row-after-duplicate)第二個示例。 – lmo
基本上:每當你需要知道邏輯向量的哪些元素是真的。 –
你完全正確:「哪個」很少是必要的或有用的。有一些例外,但比許多人意識到的要少得多。 –