2012-12-07 102 views
2

可能重複:
R: subset() logical-and operator for combining conditions should be & not &&R時的行選擇多個條件

我有一個簡單的問題,但我不知道如何解決這個...我 想要選擇其中value_1> 0和value_2> 0的所有行。 現在我有此代碼:

dataOnBoth<-data[data$value_1 > 0,][data$value_2 > 0,] 

當我前往這個數據,訂購的log2_fold_change,我有這樣的輸出:

gene_id  sample_1 sample_2 status value_1 value_2 log2_fold_change 
86 uc001aen.1  q1  q2 NOTEST 0.0619347  0 -1.79769e+308 
150 uc001ahx.1  q1  q2 NOTEST 0.0432199  0 -1.79769e+308 
186 uc001ajk.1  q1  q2 NOTEST 0.0854541  0 -1.79769e+308 
251 uc001amf.1  q1  q2 NOTEST 0.0636211  0 -1.79769e+308 
358 uc001are.3  q1  q2 NOTEST 0.3642040  0 -1.79769e+308 
394 uc001ass.1  q1  q2 NOTEST 0.0196794  0 -1.79769e+308 
     test_stat p_value q_value significant 
86 -1.79769e+308 0.4767020  1   no 
150 -1.79769e+308 0.3960920  1   no 
186 -1.79769e+308 0.0631033  1   no 
251 -1.79769e+308 0.4428030  1   no 
358 -1.79769e+308 0.1083640  1   no 
394 -1.79769e+308 0.1489190  1   no 

中以r沒有測試第二個條件...... 當使用&測試兩個條件,我收到0行:

dataOnBoth<-data[data$value_1 > 0 && data$value_2 > 0,] 

如何選擇value_1> 0和value_2> 0的所有行?

+1

single'&'對每個元素執行檢查,double'&'對整個列表/向量執行檢查。 – RyanGrannell

回答

3

你需要使用一個單獨的 '&':

dataOnBoth = data[data$value_1 > 0 & data$value_2 > 0,] 

詳情請參閱this question

+0

謝謝,在google和stackoverflow上使用錯誤的單詞進行搜索... – Jetse