4

可能的重复:
R:subset() 用于组合条件的逻辑和运算符应该是 & 而不是 &&

我有一个简单的问题,但我不知道如何解决这个问题......我想选择 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 的所有行?

4

1 回答 1

6

您需要使用单个“&”:

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

有关更多详细信息,请参阅此问题

于 2012-12-07T11:43:49.660 回答