这是我的样本数据框
DF
x.a.p y.b.l x.a.pl y.b.c z.d.ce
这些是数字列。如何从DF
列中排除哪些名称以.p
和.l
结尾
我尝试使用grep
然后subset
找到这些列,但它没有用。
感谢您的帮助。
答案 0 :(得分:1)
我们可以使用grep
DF[!grepl('\\.(p|l)$', names(DF))]
DF <- data.frame(x.a.p= 1:5, y.b.l= 6:10, x.a.pl= 11:15,
y.b.c= 16:20, z.d.ce = 21:25)
答案 1 :(得分:0)
您可以将strsplit
与参数fixed = TRUE
一起使用,以便不将分割字符串视为正则表达式。
names_df <- c("x.a.p", "y.b.l", "x.a.pl", "y.b.c", "z.d.ce")
vapply(names_df, function(x) {
s <- strsplit(x, ".", fixed = TRUE)[[1]][3]
s == "l" || s == "p"
}, TRUE)