[英]Delete row based on value in ANY column of the dataframe (R)
一种选择是filter_at
从dplyr
library(dplyr)
df1 %>%
filter_at(vars(col1, col2), all_vars(!str_detect(., "December 31,$")))
# col1 col2 col3
#1 December 31, 2019 21 22
#2 countryB 19 23
#3 countryC 18 14
或者在带有Reduce
和grep
base R
df1[!Reduce(`|`, lapply(df1[c('col1', 'col2')], grepl,
pattern = "December 31,$")),]
# col1 col2 col3
#2 December 31, 2019 21 22
#3 countryB 19 23
#4 countryC 18 14
df1 <- structure(list(col1 = c("December 31,", "December 31, 2019",
"countryB", "countryC"), col2 = c("December 31,", "21", "19",
"18"), col3 = c(NA, 22, 23, 14)), class = "data.frame", row.names = c(NA,
-4L))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.