在R中,有没有一种方法可以从一个表中删除其中一列中有一个值的所有行?

xam8gpfp  于 2023-03-15  发布在  其他
关注(0)|答案(2)|浏览(114)

我正试图从表中删除包含某个值的所有行。我曾试图使用exclude函数,但它不起作用,因为它出现了“找不到对象”。

g6ll5ycj

g6ll5ycj1#

假设您有一个如下所示的数据框:

df <- data.frame(
  a = c("Ann", NA, "Bert", "Jim"),
  b = c(1:4),
  c = c("I", "love", "you", "Ann")
)

你可以filter出(即,删除)所有行,例如,字符串值“Ann”出现in_any列如下:

library(tidyverse)
df %>%
  filter(!if_any(everything(), ~str_detect(., "Ann")))
     a b   c
1 Bert 3 you
ia2d9nvy

ia2d9nvy2#

假设您有以下 Dataframe :

df <-merge(c("a","b","c","d","e","f","g","h","i","j","k"),
      c(1:10))

你要去掉所有的“a”值:

subset(df,!x %in% c("a"))

如果要过滤所有“a”值:

subset(df,x %in% c("a"))

注意x前面的!,这会产生差异。
编辑:如果您的“值”是数值,并且您希望删除y中大于3的所有值,例如:

subset(df,y >3 )

相关问题