我有一个数据框,我试图基于该字符串排除某些行。我尝试使用grepl运行reduce,但这给了我对/错。我可以使用附加的列来减少数据框,但是我想知道在查找字符串时是否可以同时进行?
我的数据框
A <- c('A','B','C hello','C','C hello','C hello')
B <- c(1,2,3,4,5,6)
df <- data.frame(A,B)
df$Hello<- Reduce(`&`, lapply(c('C', '^((?!Hello).)*$'), grepl, df$A , perl = T, ignore.case = T))
我得到的结果是:
A B Hello
A 1 FALSE
B 2 FALSE
C hello 3 FALSE
C 4 TRUE
C hello 5 FALSE
C hello 6 FALSE
当字符串中有C而不是hello时,我只希望排成一行。
答案 0 :(得分:0)
我们可以使用开始(^
)和$
来获取TRUE
值,如“ Hello”列中所示
grepl("^C$", df$A)