我有一個具有重復行的 R 資料框,如下所示:
X1 X10
rs6908903 chr6
rs6908903 chr6_GL000251v2_alt
rs6908903 chr6_GL000252v2_alt
rs6908903 chr6_GL000252v2_alt
rs6908903 chr6_GL000252v2_alt
在這種情況下,我想創建一個僅包含第一行(Chr6)的新 df 并洗掉包含 char GL000 的行
提前致謝
uj5u.com熱心網友回復:
嘗試grepl:
df[!grepl('GL000', df$X2),]
uj5u.com熱心網友回復:
只是在這里提供一種替代方法是使用dplyr和stringr
library(dplyr)
library(stringr)
df <- data.frame(X1 =c("rs6908903","rs6908903","rs6908903","rs6908903","rs6908903"),X10=c("chr6","chr6_GL000251v2_alt","chr6_GL000252v2_alt","chr6_GL000252v2_alt","chr6_GL000252v2_alt"))
df %>% filter(!str_detect(X10, 'GL000'))
輸出:
X1 X10
1 rs6908903 chr6
編輯:
df %>%
dplyr::filter(!grepl('_', X10))
輸出:
X1 X10
1 rs6908903 chr6
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/318543.html
上一篇:在R中標記運行的開始和結束
