удалить строки, не начинающиеся с определенной строки - PullRequest
0 голосов
/ 17 марта 2020

У меня есть такой набор данных: первый столбец частично совпадает со вторым столбцом

dats<-data.frame(ID=c(1:3),row1=c("do","cat","me"),
                 row2=c("dog","dogcat","exomec"))

Я хочу сохранить только те строки, которые соответствуют , начинается с начала (т.е. только первый ряд) и удалите те совпадения, которые начинаются в середине или в конце.

мой набор данных цели:

  ID row1   row2
1  1   do    dog

Спасибо !!!

1 Ответ

1 голос
/ 17 марта 2020

Мы можем использовать filter с str_detect, который векторизован по строке и шаблону.

library(dplyr)
library(stringr)

dats %>% filter(str_detect(row2, paste0('^', row1)))

#  ID row1 row2
#1  1   do  dog
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...