我有一个df:
label.disabled, label[disabled] {
opacity: .4;
}
我想通过NOT匹配C列中的多个模式来对此df进行子集化。 (我知道它更容易匹配,但我需要找到一种不匹配的方法)。 我试过了:
A <- c(10,14,45,3687)
B <- c(354,587,45,6787)
C <- c("I","J","K","L")
df <- data.frame(A,B,C)
但R说: &#39;操作仅适用于数字,逻辑或复杂类型&#39;
答案 0 :(得分:0)
你不应该连接..尝试以下
df[!grepl("K|L", df$C),]
A B C
1 10 354 I
2 14 587 J
答案 1 :(得分:0)
能够将此应用于您不想匹配的任意数量的模式,使用
定义您不希望在矢量中匹配的模式rem_pat <- c("K","L")
然后&#34; |&#34; - 使用带
的粘贴在子集命令中将其折叠(no_K_L <- df[!grepl(paste(rem_pat, collapse = "|"), df$C),])
A B C
1 10 354 I
2 14 587 J