我有以下数据框:
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"或“否”。 我该怎么做?
此图显示了哪些行包含该模式:
最佳答案
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/