删除R中的多个值

删除R中的多个值,r,R,我有一个包含14000行和40列的数据集,我正试图删除数据集第一列中具有以下值的所有行,但当我执行以下操作时 filter(data_set, data_set$DMS != rem) rem <- c("02M177","02M267", "02M933","03M452","05M148","06M178","06M209","07X359","09X274","09X294","09X311","09X350","09X361","09X555","11X355","12X314

我有一个包含14000行和40列的数据集,我正试图删除数据集第一列中具有以下值的所有行,但当我执行以下操作时

filter(data_set, data_set$DMS != rem)


rem <- c("02M177","02M267", "02M933","03M452","05M148","06M178","06M209","07X359","09X274","09X294","09X311","09X350","09X361","09X555","11X355","12X314","14K414","17K532","18K763","19K404","19K557","19K654","19K661","19K662","19K663","19K760","20K264","20K971","23K446","23K599","23K664","23K668","24Q290","24Q311","24Q330","27Q273","27Q297","27Q362","28Q287","28Q332","29Q289","30Q280","30Q291","30Q300","31R028","31R078")
过滤器(数据集,数据集$DMS!=rem)
rem您需要
过滤器(数据集,!DMS%in%rem)

例如:

dd <- data.frame(f=letters[1:6],x=1:6)
library("dplyr")
dd %>% filter(!f %in% c("a","c","e"))
##   f x
## 1 b 2
## 2 d 4
## 3 f 6
dd%过滤器(!f%在%c(“a”、“c”、“e”)中)
##f x
##1 b 2
##2D 4
##3f6
您需要
过滤器(数据集,!DMS%in%rem)

例如:

dd <- data.frame(f=letters[1:6],x=1:6)
library("dplyr")
dd %>% filter(!f %in% c("a","c","e"))
##   f x
## 1 b 2
## 2 d 4
## 3 f 6
dd%过滤器(!f%在%c(“a”、“c”、“e”)中)
##f x
##1 b 2
##2D 4
##3f6

您也可以使用
子集

subset(data_set, ! DMS %in% rem)

您还可以使用
子集

subset(data_set, ! DMS %in% rem)
或者这(这清楚地表明您正在对行进行筛选):

或者这(这清楚地表明您正在对行进行筛选):


使用
data.table
,我们设置了“key”列

library(data.table)
setDT(data_set, key='DMS')[!rem]
使用@Ben Bolker的帖子中的示例

rem <- c('a', 'c', 'e')
setDT(dd, key='f')[!rem]
#   f x
#1: b 2
#2: d 4
#3: f 6

rem使用
data.table
,我们设置了“key”列

library(data.table)
setDT(data_set, key='DMS')[!rem]
使用@Ben Bolker的帖子中的示例

rem <- c('a', 'c', 'e')
setDT(dd, key='f')[!rem]
#   f x
#1: b 2
#2: d 4
#3: f 6

rem不,那没用。我用的是DPLYR,如果它不起作用,那么你需要发布一个…不,它不起作用。我用的是DPLYR,如果没有,那么你需要发布一个。。。