我想排除df
中具有JUST特定模式(AA
,AB
,BB
)的所有行。我的真实数据有超过20k行和超过2k列!按照代表性的输入示例:
df <- "chr position sample21s sample23s sample22s
chr2 150 AB BB AA
chr4 250 A AA BB
chr5 350 AB B BB
chr7 550 AA AA AA
chr8 650 BB BB AB"
df <- read.table(text=df, header=T)
预期产出:
chr position sample21s sample23s sample22s
chr4 250 A AA BB
chr5 350 AB B BB
有什么想法吗?
答案 0 :(得分:1)
这是另一种选择......
> ind <- apply(df[, grepl("^sample", names(df))], 1,
function(x) sum(x %in% c("AA", "AB", "BB"))!=3)
> df[ind, ]
chr position sample21s sample23s sample22s
2 chr4 250 A AA BB
3 chr5 350 AB B BB