Jet*_*tse 3 row r matrix selection conditional-statements
可能重复:
R:组合条件的逻辑和运算符应为&而不是&&
我有一个简单的问题,但是我不知道该如何解决...我想选择value_1> 0和value_2> 0的所有行。现在我有了以下代码:
dataOnBoth<-data[data$value_1 > 0,][data$value_2 > 0,]
Run Code Online (Sandbox Code Playgroud)
当我在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
Run Code Online (Sandbox Code Playgroud)
所以R没有测试第二个条件...当使用&测试两个条件时,我收到0行:
dataOnBoth<-data[data$value_1 > 0 && data$value_2 > 0,]
Run Code Online (Sandbox Code Playgroud)
如何选择value_1> 0和value_2> 0的所有行?
您需要使用单个“&”:
dataOnBoth = data[data$value_1 > 0 & data$value_2 > 0,]
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见此问题。