r - 查找 data.frame 中的值是否包含在第二个 data.frame 的最小和最大范围内
问题描述
我有两个data.frames
,我想知道 中的值df_1
是否包含在df_2
.
这是我的例子:
df_1 = data.frame(x = c(0.5, 0.75, 0.15, 0.1))
df_2 = data.frame(min = c(0.2, 0.5, 0.1, 0.6), max = c(0.9, 0.6, 0.35, 1))
期望的输出应该是例如 TRUE 或 FALSE 的逻辑向量,在这种情况下,期望的输出是:
> out
[1] TRUE FALSE TRUE FALSE
这应该是微不足道的,但到目前为止我找不到答案。
任何建议将不胜感激。
解决方案
为此,您只需要基本 R 即可:
df_2$min <= df_1$x & df_1$x <= df_2$max
不需要dplyr
或其他任何东西tidyverse
。但是,如果你真的想要它,你总是可以这样做:
dplyr::between(df_1$x, df_2$min, df_2$max)
可能会更好的可读性(尽管代码高尔夫有点差)。
推荐阅读
- api - 不离开IDE就可以得到一个库的api引用?
- mongodb - MongoDb 中的聚合计数值
- variables - 无法在 Ansible 中为 set_fact 设置默认值
- python - 检测 QPixmap 警告
- c# - 如何使用数据注释为模型属性 WebApi .NET Core 添加布尔验证
- mysql - Laravel Eloquent:在删除记录时保留索引的 AUTO_INCREMENT
- couchbase - 将索引和用户从 Couchbase 5.1 移动到 Couchbase 6.0
- symfony - 用于电子邮件的 DomCrawler filterXpath
- javascript - 在浏览器上按下后退按钮时忽略查询参数
- asp.net-core - 将包 System.Data.SqlClient 从 4.6.1 更新到 4.8.0 填满连接池