如何使用dplyr过滤掉忽略小数点后数字的字符串列表

鲁本

我在名为“ id”的data.frame中具有以下列:

   example_0test0|EMM3.71|NTERM| 
   example_0test1|_EMM92.2|CTERM| 
   example_0test2|_EMM92.2|NTERM| 
   example_0test0|EMM1|NTERM| 
   example_0test0|EMM100|NTERM| 
   example_0test0|EMM1.11|NTERM| 
   example_0test0|EMM1.123|NTERM| 

我想使用dplyr过滤器函数过滤确切字符列表,例如(保持简单):EMM1提供以下输出:

> test_df2
                              id col1 col2
1     example_0test0|EMM1|NTERM| 10.4 exp4
2  example_0test0|EMM1.11|NTERM| 10.3 exp6
3 example_0test0|EMM1.123|NTERM| 10.3 exp7

我有一个这样保存的字符的因子列表,我想用作过滤条件的输入:

"EMM1|EMM101|EMM103|EMM104|EMM108.1|EMM11|EMM113|EMM114|EMM116.1|EMM118|EMM12|EMM123|EMM19.4|EMM197|EMM2|"

我曾尝试使用结合使用“过滤器”和“ str_detect”的组合,但是如果我的搜索列表中包含“ EMM1”,那么我想包含“ EMM1.0”或“ EMM1.1”之类的方法

我怀疑由于要过滤的列中的每个EMM术语都用“ |”括起来 像“ text|EMM1.0|text”一样,可能有一种方法可以用于过滤?

这是我正在使用的data.frame类型的微型示例:

> dput(test_df)
structure(list(id = c("example_0test0|EMM3.71|NTERM|", "example_0test1|_EMM92.2|CTERM|", 
"example_0test2|_EMM92.2|NTERM|", "example_0test0|EMM1|NTERM|", 
"example_0test0|EMM100|NTERM|", "example_0test0|EMM1.11|NTERM|", 
"example_0test0|EMM1.123|NTERM|"), col1 = c(10.1, 10.2, 10.3, 
10.4, 10.3, 10.3, 10.3), col2 = c("exp1", "exp2", "exp3", "exp4", 
"exp5", "exp6", "exp7")), class = "data.frame", row.names = c(NA, 
-7L))
罗纳克·沙

您可以使用 :

pat <- "EMM1|EMM101|EMM103|EMM104|EMM108.1|EMM11|EMM113|EMM114|EMM116.1|EMM118|EMM12|EMM123|EMM19.4|EMM197|EMM2"
subset(test_df, grepl(sprintf('(%s)(\\.|\\|)', pat), id))


#                              id col1 col2
#4     example_0test0|EMM1|NTERM| 10.4 exp4
#6  example_0test0|EMM1.11|NTERM| 10.3 exp6
#7 example_0test0|EMM1.123|NTERM| 10.3 exp7

pat"EMM"我们另外想要的所有值组成,我们通过sprintf仅返回那些带有a".""|"在这些pat之后的来创建模式


我们也可以将其与filter一起使用str_detect

library(dplyr)
library(stringr)

test_df %>% filter(str_detect(id, sprintf('(%s)(\\.|\\|)', pat)))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用NSEqualToPredicateOperatorType时如何使谓词忽略小数点?

来自分类Dev

浮点比较忽略小数点

来自分类Dev

BizTalk 地图中的累积总和 functoid 忽略小数点后的零

来自分类Dev

如何过滤掉其中不包含数字的字符串?

来自分类Dev

调整文字大小会忽略小数点

来自分类Dev

在Convert.ToDouble中忽略小数点

来自分类Dev

如何将parseFloat字符串数字转换为带小数点后2位的浮点

来自分类Dev

如何在Java中将字符串数字转换为两位小数点后两位?

来自分类Dev

如何将字符串中的小数点后的数字减少到仅5位经度?

来自分类Dev

将数字转换为精确到小数点后两位的字符串

来自分类Dev

从字符串中提取数字并转换为小数点后2位

来自分类Dev

如何从项目列表中过滤掉

来自分类Dev

如何使用通配符过滤掉字符串,然后将其修改后输出到另一个文本文件中?

来自分类Dev

在MYSQL中,如何使用SELECT INSTINCT过滤掉重复用户后获得列中最常见的字符串?

来自分类Dev

如何将字符串转换为小数点后3位的小数?

来自分类Dev

Python-将字符串列表转换为浮点数-方括号和小数点导致问题

来自分类Dev

如何使用掩码字符或下面的字符串中的任何其他技巧过滤掉年份?

来自分类Dev

如何检查仅包含数字和小数点的字符串?

来自分类Dev

如何在Haskell中读取以小数点开头的数字的字符串?

来自分类Dev

如何在 Elixir 中获取小数点后的数字?

来自分类Dev

如何在double中删除小数点后的数字?

来自分类Dev

如何将包含特殊字符的两个小数点后的字符串数字四舍五入?

来自分类Dev

在 Python 3 中使用 Pandas,如何过滤掉数据框中列中的重复字符串?

来自分类Dev

从Variant String转换为Double会忽略小数点

来自分类Dev

正则表达式匹配句号以句号(。)结尾的忽略小数点

来自分类Dev

使用`lmap`过滤字符串列表

来自分类Dev

使用 lambda 过滤字符串列表

来自分类Dev

如何编写python表达式以过滤掉某些字符串

来自分类Dev

从标准输入中过滤掉某些字符串

Related 相关文章

  1. 1

    使用NSEqualToPredicateOperatorType时如何使谓词忽略小数点?

  2. 2

    浮点比较忽略小数点

  3. 3

    BizTalk 地图中的累积总和 functoid 忽略小数点后的零

  4. 4

    如何过滤掉其中不包含数字的字符串?

  5. 5

    调整文字大小会忽略小数点

  6. 6

    在Convert.ToDouble中忽略小数点

  7. 7

    如何将parseFloat字符串数字转换为带小数点后2位的浮点

  8. 8

    如何在Java中将字符串数字转换为两位小数点后两位?

  9. 9

    如何将字符串中的小数点后的数字减少到仅5位经度?

  10. 10

    将数字转换为精确到小数点后两位的字符串

  11. 11

    从字符串中提取数字并转换为小数点后2位

  12. 12

    如何从项目列表中过滤掉

  13. 13

    如何使用通配符过滤掉字符串,然后将其修改后输出到另一个文本文件中?

  14. 14

    在MYSQL中,如何使用SELECT INSTINCT过滤掉重复用户后获得列中最常见的字符串?

  15. 15

    如何将字符串转换为小数点后3位的小数?

  16. 16

    Python-将字符串列表转换为浮点数-方括号和小数点导致问题

  17. 17

    如何使用掩码字符或下面的字符串中的任何其他技巧过滤掉年份?

  18. 18

    如何检查仅包含数字和小数点的字符串?

  19. 19

    如何在Haskell中读取以小数点开头的数字的字符串?

  20. 20

    如何在 Elixir 中获取小数点后的数字?

  21. 21

    如何在double中删除小数点后的数字?

  22. 22

    如何将包含特殊字符的两个小数点后的字符串数字四舍五入?

  23. 23

    在 Python 3 中使用 Pandas,如何过滤掉数据框中列中的重复字符串?

  24. 24

    从Variant String转换为Double会忽略小数点

  25. 25

    正则表达式匹配句号以句号(。)结尾的忽略小数点

  26. 26

    使用`lmap`过滤字符串列表

  27. 27

    使用 lambda 过滤字符串列表

  28. 28

    如何编写python表达式以过滤掉某些字符串

  29. 29

    从标准输入中过滤掉某些字符串

热门标签

归档