根据各种数字删除多行

时间:2018-07-16 04:13:42

标签: r dplyr subset

很抱歉这个愚蠢的问题,但是我有一个巨大的数据框(称为“ totaldecade”),其列名为:

Event.ID,Event.Date,CAMEO.Code

我要删除所有数字范围的行:10:58, 90:145, 1011:1454, 160:166, 1661:1663,列中的CAMEO:Code

我尝试过:

totaldecade[with(totaldecade, !((CAMEO.Code %between% 10:58) | 
(CAMEO.Code %between% 90:145) | 
(CAMEO.Code %between% 1011:1454) | (CAMEO.Code %between% 160:166) | 
(CAMEO.Code %between% 1661:1663))), ]

但似乎不起作用。

感谢您的帮助!

米歇尔

1 个答案:

答案 0 :(得分:0)

我们获得向量中的范围,使用%in%创建逻辑向量,并取反(!)以将FALSE元素更改为TRUE,反之亦然

library(dplyr)
totaldecade %>% 
       filter(!CAMEO.Code %in% c(10:58, 90:145, 1011:1454, 160:166, 1661:1663))

或使用subset中的base R

subset(totaldecade, !CAMEO.Code %in% c(10:58, 90:145, 1011:1454, 
                    160:166, 1661:1663))