r - 根据数据框(R)的任何列中的值删除行
问题描述
我遇到了与此处发布的相同的问题,例如: 根据数据框任何列中的值删除行, 但希望在 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
或base R
与Reduce
和grep
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))
推荐阅读
- android-recyclerview - ReactiveUI - 流之间的动态数据切换到单个 ReadOnlyObservableCollection
- typescript - 泛型函数的 TypeScript 条件返回类型
- azure - 机器人频道注册 - Azure 机器人框架
- c - 为什么 srand (time (NULL)) 的 NULL 给 time () 一个随机值?
- python - Selenium find_element_by_id - 提取临时元素 ID
- string - 使用 Ansible 在正则表达式匹配行的末尾附加一个字符串
- scala - 如何处理spark sql数据框中的json列数组
- android - 调用 setOnClickListener() 时出现空指针异常
- reactjs - 如何使用 React-Redux 和 Axios 获取加载组件上的数据?
- android - 使用 Firebase MLkit 库时有没有办法获取 BarCode 格式名称?