2017-03-23 45 views
0

我有一個名爲IsomiR的列,我想選擇那些在此列的rownames中的第三個位置具有I-C的行。爲什麼我從我的命令中得到整數(0)?在匹配的子串上過濾rownames

IsomiR 
hsa-miR-200b-3p_AATACTGCCTGGTAATGATGACA 0 I-C t C 

grep("^(?:[^ ]+){3}I-C",topIsomiRSignAveExpr$IsomiR) 

回答

0

因爲grep將返回產生匹配的x的元素索引的向量。指數=>數字。在你的特定情況下,你得到整數(0),因爲你的正則表達式不起作用。

如果你想過濾,我寧願建議使用grepl,例如,像這樣:

topIsomiRSignAveExpr <- topIsomiRSignAveExpr %>% 
    filter(grepl(".* .* I-C", IsomiR)) 
+0

如果你打算使用教皇運營商,你應該通過加載代碼來加載pkg:maggritr。 –