创建一个向量来过滤掉多行

问题描述 投票:0回答:1

我有一个数据框,其中有一个名为“value”的变量。在该变量中有数字范围(例如 90-94),但也有前面带有字母的范围,例如 LT、GE、LE 等。我想过滤掉前面带有字母的行,只得到数字范围。

起初,我以为过滤器语句中的字母后面有一个空格会起作用,但实际上什么也没发生。

我的具体代码块:

    OHperformance <- OHperformance %>%
      filter(Value != ".",
             Value !="PS", 
             Value !="LT  ", 
             Value !="GE  ",
             Value != "LE  ")

然后,我能够制作一个向量,但必须单独标记它们。

    OHperformance <- OHperformance %>%
      filter(!Value %in% c("LT50", "LE5",     "LE20", "LE10", "GE95", "GE90", "GE80", "GE50", ".", "PS"))

是否有更简单的方法来消除 LE 或 GE 的行?

r dataframe filter data-manipulation
1个回答
0
投票

执行此操作的一种方法是查看如果从

Value
中删除非数字字符,它是否会发生变化:

library(dplyr)
OHperformance  |>
    filter(
        Value == gsub("\\D", "", Value)
    )
© www.soinside.com 2019 - 2024. All rights reserved.