Фрейм данных R - уменьшить, чтобы исключить определенные строки на основе комбинации текста - PullRequest
0 голосов
/ 05 июля 2018

У меня есть фрейм данных, и я пытаюсь исключить определенные строки на основе строки. Я пытаюсь запустить снижение с помощью grepl, но это дает мне истину / ложь. Я мог бы использовать дополнительный столбец, чтобы уменьшить свой фрейм данных, но мне интересно, могу ли я сделать это одновременно, когда я ищу строку?

Мой фрейм данных

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 находится в строке, а привет - нет.

1 Ответ

0 голосов
/ 05 июля 2018

Мы можем использовать начало (^) и $, чтобы получить значение TRUE, как показано в столбце «Hello»

grepl("^C$", df$A)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...