排除 R 中仅具有特定模式的所有行
Exclude all rows with JUST specific patterns in R
我想排除 df
中只有特定模式(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
有什么想法吗?
这是另一种选择...
> 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
我想排除 df
中只有特定模式(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
有什么想法吗?
这是另一种选择...
> 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