r - 如何使用 dplyr pipe mutate 检测字符串是否包含正则表达式模式

标签 r regex dplyr

我有以下数据框:

library(tidyverse)

dat <- structure(list(peptide_id = c("PD_22374", "PD_20472", "PD_17483"
), peptide = c("EVHNPWNFIPDFQRSRQQHAFKKIRKHRRA", "KKEPQICTWKIQVRFSMNKKVWRKGTQKKK", 
"NESVPKTHGDVINTGIKERRSKKAKSITKV")), row.names = c(NA, -3L), class = c("tbl_df", 
"tbl", "data.frame"))


dat
#> # A tibble: 3 x 2
#>   peptide_id peptide                       
#>   <chr>      <chr>                         
#> 1 PD_22374   EVHNPWNFIPDFQRSRQQHAFKKIRKHRRA
#> 2 PD_20472   KKEPQICTWKIQVRFSMNKKVWRKGTQKKK
#> 3 PD_17483   NESVPKTHGDVINTGIKERRSKKAKSITKV

我想检测上面的哪些行包含此正则表达式模式 K[KR].{1}[KR]

我们希望有另一列给出"is"或“否”。 我该怎么做?

此图显示了哪些行包含该模式:

enter image description here

最佳答案

dat%>%
  mutate(ind= grepl("K[KR].{1}[KR]",peptide))

# A tibble: 3 x 3
  peptide_id peptide                        ind  
  <chr>      <chr>                          <lgl>
1 PD_22374   EVHNPWNFIPDFQRSRQQHAFKKIRKHRRA TRUE 
2 PD_20472   KKEPQICTWKIQVRFSMNKKVWRKGTQKKK FALSE
3 PD_17483   NESVPKTHGDVINTGIKERRSKKAKSITKV TRUE 

关于r - 如何使用 dplyr pipe mutate 检测字符串是否包含正则表达式模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51872718/

相关文章:

r - 有没有办法从 tar.gz 中读取一个 CSV 数据集,其中包含 R 语言中的许多数据集?

javascript - 在 JS 中组合两个正则表达式

r - bool 运算中的 dplyr row_number() 行为

r - 如何快速执行类似乘法的矩阵运算?

r - Dynamic Sweave 文档

javascript - 正则表达式与 jQuery text() 方法相结合

r - 将 R 公式与 dplyr 结合使用

R,dplyr : Function that quickly builds list of complementary rows based on conditions

r - 在R中,如何将data.frame的聚合转换为data.table的聚合?

.net - 学习正则表达式模式的算法