我有两个数据,一个是逻辑(selected
):
YPR163C YPR164W YPR165W YPR166C YPR167C YPR168W YPR169W YPR170C
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
YPR171W YPR172W YPR173C YPR174C YPR175W YPR176C YPR177C YPR178W
FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
YPR179C YPR180W YPR181C YPR182W YPR183W YPR184W YPR185W YPR186C
FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
YPR187W YPR188C YPR189W YPR190C YPR191W YPR192W YPR193C YPR194C
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
YPR195C YPR196W YPR197C YPR198W YPR199C YPR200C YPR201W YPR202W
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
YPR203W YPR204W
FALSE FALSE
和另一个矩阵(dataExpr
):
cln3.1 cln3.2 clb2.2 clb2.1 alpha0 alpha7 alpha14 alpha21 alpha28
YAL001C 0.15 -0.006660232 -0.22 0.07 -0.15 -0.15 -0.21 0.17 -0.42
YAL002W -0.07 -0.760000000 -0.12 -0.25 -0.11 0.10 0.01 0.06 0.04
YAL003W -1.22 -0.270000000 -0.10 0.23 -0.14 -0.71 0.10 -0.32 -0.40
YAL004W -0.09 1.200000000 0.16 -0.14 -0.02 -0.48 -0.11 0.12 -0.03
YAL005C -0.60 1.010000000 0.24 0.65 -0.05 -0.53 -0.47 -0.06 0.11
YAL007C 0.65 1.390000000 -0.29 -0.54 -0.60 -0.45 -0.13 0.35 -0.01
我想过滤掉逻辑数据中FALSE的行。我尝试了不同的东西,例如:
esetSel <- dataExpr[selected, ]
但它不起作用......输出:
cln3.1 cln3.2 clb2.2 clb2.1 alpha0 alpha7 alpha14 alpha21 alpha28 alpha35
alpha42 alpha49 alpha56 alpha63 alpha70 alpha77 alpha84 alpha91 alpha98 alpha105
alpha112 alpha119 cdc15.10 cdc15.30 cdc15.50 cdc15.70 cdc15.80 cdc15.90
cdc15.100 cdc15.110 cdc15.120 cdc15.130 cdc15.140 cdc15.150 cdc15.160 cdc15.170
cdc15.180 cdc15.190 cdc15.200 cdc15.210 cdc15.220 cdc15.230 cdc15.240 cdc15.250
cdc15.270 cdc15.290 cdc28.0 cdc28.10 cdc28.20 cdc28.30 cdc28.40 cdc28.50
cdc28.60 cdc28.70 cdc28.80 cdc28.90 cdc28.100 cdc28.110 cdc28.120 cdc28.130
cdc28.140 cdc28.150 cdc28.160 elu0 elu30 elu60 elu90 elu120 elu150 elu180 elu210
elu240 elu270 elu300 elu330 elu360 elu390
答案 0 :(得分:1)
如果selected
的元素名称与dataExpr
的行名对应,则以下内容应该有效:
esetSel <- dataExpr[selected[row.names(dataExpr)], ]
它子集(或重新排序)selected
,使其与dataExpr
的行名称的顺序匹配,然后匹配生成的逻辑向量的子集dataExpr
。