r - 检查值列表是否在范围列表内(逐类)
问题描述
我需要知道(给定类的)给定值是否在范围内。我试图一起使用 apply 和 lapply 来解决我的问题,但没有成功。这是我正在尝试做的一个例子。
假设“mylist”是一个列表列表:
df1<-data.frame(classA=5.5,classB=6.3)
df2<-data.frame(classA=c(4.2,5.5),classB=c(5.1,6.2))
df3<-data.frame(classA=5.7,classB=4.2)
df4<-data.frame(classA=c(5.2,6.3),classB=c(4.0,5.0))
mylist<-list(list(df1,df2),list(df3,df4))
我希望结果是这样的:
list(data.frame(TRUE,FALSE),data.frame(TRUE,TRUE))
谢谢
解决方案
可能是一种更简单的方法来做到这一点
btw <- function(val, vec) {
purrr::map2_lgl(val, vec, ~dplyr::between(.x, .y[1], .y[2]))
}
purrr::map(mylist, ~btw(.x[[1]], .x[[2]]))
# [[1]]
# classA classB
# TRUE FALSE
# [[2]]
# classA classB
# TRUE TRUE
推荐阅读
- sql - 使用 VBA 在 Excel 单元格中运行 SQL 语句
- android - 如何在 Flutter 中隐藏 Android 的底部操作栏?
- python - 损失值不降低
- css - 与浏览器相比,WebView 呈现的 CSS 不同
- flutter - Android Studio 模拟器 NO DC 注意
- entity-framework - DisplayFormat 不适用于 EF Core 中的计算属性
- gitlab-ci - 此 GitLab CI 配置无效:项目 `my-ci-test-group/test-yaml` 未找到或访问被拒绝!即使他们在同一组
- spring - 如何调试不起作用的 Spring @Value 注入?
- node.js - 渲染后如何重定向,而快递没有错误
- c# - 无法在 IIS 中发布 Web API 的问题