r - 一步中多个单变量条件的子集?
问题描述
我希望我能充分解释我正在尝试做的事情。我在 R 中工作,对于一个数据集,我试图只保留一个变量的观察结果,另一个变量满足两个条件。
具体来说,我只想保留特定“cyl”的行,其中至少有一个 mpg 值 >20,至少一个 <20。这是来自 mtcars 的一些示例数据,类似于我正在使用的数据。
mpg cyl
1 21.0 6
2 21.0 6
3 22.8 4
4 21.4 6
5 18.7 8
6 18.1 6
7 14.3 8
8 24.4 4
9 22.8 4
10 19.2 6
11 17.8 6
12 16.4 8
13 17.3 8
14 15.2 8
15 10.4 8
16 10.4 8
17 14.7 8
18 32.4 4
19 30.4 4
20 33.9 4
理想情况下,我对上述示例的输出将如下所示。
mpg cyl
1 21.0 6
2 21.0 6
4 21.4 6
6 18.1 6
10 19.2 6
11 17.8 6
提前致谢!
解决方案
假设您的数据框输入是DF
,试试这个:
library(dplyr)
DF %>%
group_by(cyl) %>%
filter(sum(mpg > 20) > 1 & sum(mpg < 20) > 1)
# A tibble: 7 x 2
# Groups: cyl [1]
# mpg cyl
# <dbl> <dbl>
# 1 21 6
# 2 21 6
# 3 21.4 6
# 4 18.1 6
# 5 19.2 6
# 6 17.8 6
# 7 19.7 6
数据
DF <- mtcars[,1:2]
推荐阅读
- c - 如果服务器和客户端没有问题,Unix 套接字会死吗?
- jsxgraph - 如何控制轴上显示的比例?
- python - 在 pytest 中的函数内为同一调用返回不同的模拟结果
- visual-studio-code - 如何恢复对 Visual Studio Code 标题栏颜色的更改?
- ios - 在 AVPlayerViewController 中调整视频大小
- mule - 更新功能在 dataweave 2 中没有按预期工作?
- html - 如何使用“按钮:焦点”使标签在内部工作?
- android - 颤振错误:“对象?”类型的值 不能分配给“字符串”类型的变量
- python - 创建热图时出错。ValueError:具有多个元素的数组的真值不明确
- sql-server - SQL Server 升级 SSIS 作业