r - 根据条件删除行
问题描述
my_df <- tibble(
b1 = c(2, 1, 1, 2, 2, 2, 1, 1, 2),
b2 = c(NA, 4, 6, 2, 6, 6, 1, 1, 7),
b3 = c(5, 9, 8, NA, 2, 3, 9, 5, NA),
b4 = c(NA, 6, NA, 10, 12, 8, 3, 6, 2),
b5 = c(2, 12, 1, 7, 8, 5, 5, 6, NA),
b6 = c(9, 2, 4, 6, 7, 6, 6, 7, 9),
b7 = c(1, 3, 7, 7, 4, 2, 2, 9, 5),
b8 = c(NA, 8, 4, 5, 1, 4, 1, 3, 6),
b9 = c(4, 5, NA, 9, 5, 1, 1, 2, NA),
b10 = c(14, 3, NA, 2, 2, 2, 3, NA, 5))
我有一个这样的df,如果b1 = 1,我想告诉R删除b10中的所有'3'或'NA'。我已经尝试过这个,但它似乎保留了'3'和'NA'而不是删除它们;
new_df <- my_df %>% filter(is.na(b10) | b10 == 3 | b1==1 & b10 ==NA)
解决方案
这应该可以解决问题:
library(dplyr)
my_df %>%
filter(!(b1 == 1 & (is.na(b10) | b10 == 3)))
编辑:假设您要删除条件满足的行
推荐阅读
- android - Android Jetpack 安全性 - 示例代码无法编译“找不到适合 FileReader(EncryptedFile) 的构造函数”
- python - Python中的KeyError,即使密钥存在
- c++ - c++中结构体减少缓存内存的方法
- javascript - 如何将带有对象的数组推入数组
- php - Laravel 7 中的资源如何只显示创作者的某些领域?
- python - 如何检查列表项是否位于另一个列表中的元组之间?
- php - PHP - AJAX - 字段组数组 POST 值总是显示未定义的索引
- javascript - Bootstrap 4 Card Deck Fixed Card Width (当少于每行指定数量的卡片时)
- java - 无法使用休眠在同一 JSP 页面上同时保存一对多关系实体
- arraylist - 带有 Viewpager2 和回收器视图适配器的 Exoplayer