2013-02-25 38 views
4

我已瀏覽了本網站上的現有子集Q & A,無法完全找到我正在尋找的內容。基於應用於多列的單個條件的子集數據框

我想基於一個條件(例如,如果該值低於5)子集數據框。但是,我只想要所有列中的值低於5的行。

例如使用iris數據集 - 我想選擇列1-3都低於5的所有行。

subdata <- iris[which(iris[,1:3]<5),] 

這不適合我。我在子集數據的底部獲得大量的NA行。

任何幫助非常感謝!

回答

10

嘗試

subdata <- iris[apply(iris[,1:3] < 5, 1, all),] 
+0

出於興趣,什麼是'1'之間做'<5'和'all'? – JPD 2013-02-25 13:58:19

+2

它告訴'apply'爲'iris [,1:3] <5'的每一行運行'all'(基本上是一個邏輯與)。參見'apply' - 它在'R'中非常有用。 – QkuCeHBH 2013-02-25 14:02:11

相關問題