我想删除几行具有特定字符变量的行。我可以做到,但效率不高。下面的代码有效,但我想要一种更有效的方法。
Stuff2<-Stuff1[!Stuff1$State.Code=="PR",]
Stuff2<-Stuff2[!Stuff2$State.Code=="HI",]
Stuff2<-Stuff2[!Stuff2$State.Code=="AK",]
如何创建一行代码来删除 PR、HI 和 AK 的所有观察结果?我看到了许多数值示例,但没有看到字符示例。
我想删除几行具有特定字符变量的行。我可以做到,但效率不高。下面的代码有效,但我想要一种更有效的方法。
Stuff2<-Stuff1[!Stuff1$State.Code=="PR",]
Stuff2<-Stuff2[!Stuff2$State.Code=="HI",]
Stuff2<-Stuff2[!Stuff2$State.Code=="AK",]
如何创建一行代码来删除 PR、HI 和 AK 的所有观察结果?我看到了许多数值示例,但没有看到字符示例。
一个解决方案dplyr
:
library(dplyr)
Stuff2 %>%
filter(!State.Code %in% c("PR", "HI", "AK"))
# you remove if state.code is not in the character vector provided.
并以 R 为基数:
subset(Stuff2, !State.Code %in% c("PR", "HI", "AK"))
使用正则表达式和基础 R:
Stuff2[grepl("[^(PR|HI|AK)]",Stuff2$State.Code),]