gpt4 book ai didi

r - 使用 R 检查值是否在区间内

转载 作者:行者123 更新时间:2023-12-05 08:36:24 27 4
gpt4 key购买 nike

具有以下向量:

t <- c(2, 6, 8, 20, 22, 30, 40, 45, 60)

我想找到介于以下区间之间的值:

g <- list(c(1,20), c(20, 40))

期望的输出是:

1, 20 c(2, 6, 8)
20, 40 c(20, 22, 30)

使用 dplyr 库,我执行以下操作:

library(dplyr)
for(i in t){
for(h in g){
if(between(i, h[[1]], h[[2]])==TRUE){print(c(i, h[[1]], h[[2]]))}
}}

在 R 中有更好的方法吗?

最佳答案

我们可以遍历 list 'g' 并通过使用 >/< 创建逻辑向量,基于第一个和第二个值提取 't' 元素并提取't'的元素

lapply(g, function(x) t[t >= x[1] & t  < x[2]])

-输出

[[1]]
[1] 2 6 8

[[2]]
[1] 20 22 30

关于r - 使用 R 检查值是否在区间内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69305966/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com