gpt4 book ai didi

r - 过滤/子集/删除在R中字符串中间包含字符的行

转载 作者:行者123 更新时间:2023-12-04 12:51:13 27 4
gpt4 key购买 nike

我有一个包含肽序列的列的数据框,我只想保留字符串中没有内部“R”或“K”的行。

df1 <- data.frame(
Peptide = c("ABCOIIJUHFSAUJHR", "AOFIAUKOAISDFUK", 'ASOIRDFHAOHFKK'))


df1 #check output

作为输出,我只想保留第一行(即“ABCOIIJUHFSAUJHR”)。

我曾尝试使用 stringr 包和长度中的 filter (dplyr) 和 str_locate_all ,但无法弄清楚。

任何帮助将非常感激。

谢谢

最佳答案

我们可以跳过第一个和最后一个字符( ^..$ )并匹配零个或多个不是 R 或 K 的字符( [^RK]* )在 grep 中并使用它来对数据集进行子集

df1[grepl("^.[^RK]*.$", df1$Peptide), , drop = FALSE]
# Peptide
#1 ABCOIIJUHFSAUJHR

关于r - 过滤/子集/删除在R中字符串中间包含字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49933741/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com