有效地删除 R 中带有字符变量的行
Efficiently deleting rows with character variables in R
我想删除一些具有特定字符变量的行。我可以做到,但效率不高。下面的代码有效,但我想要一种更有效的方法。
Stuff2<-Stuff1[!Stuff1$State.Code=="PR",]
Stuff2<-Stuff2[!Stuff2$State.Code=="HI",]
Stuff2<-Stuff2[!Stuff2$State.Code=="AK",]
如何创建一行代码来删除所有具有 PR、HI 和 AK 的观察值?我看到许多数值示例,但 none 字符。
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),]
我想删除一些具有特定字符变量的行。我可以做到,但效率不高。下面的代码有效,但我想要一种更有效的方法。
Stuff2<-Stuff1[!Stuff1$State.Code=="PR",]
Stuff2<-Stuff2[!Stuff2$State.Code=="HI",]
Stuff2<-Stuff2[!Stuff2$State.Code=="AK",]
如何创建一行代码来删除所有具有 PR、HI 和 AK 的观察值?我看到许多数值示例,但 none 字符。
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),]