gpt4 book ai didi

r - 如何获取包含两个其他值之间的值的数据框行?

转载 作者:行者123 更新时间:2023-12-02 06:32:36 24 4
gpt4 key购买 nike

所以我想在 data.frame 的列中查找值,这些值在定义值的范围内:

  example
[1] 6 2 4 3 5 1
pos
[1] 1 3 2

我现在想获取以下两个语句都为 TRUE 的示例的值,以便我只获取介于 pos - 1 之间的值和 pos +1 :

if(example < pos - 1)
if(example > pos + 1)

现在我任务的真正值(value)在一个 data.frame 中。如何提取包含这些值的完整行并构建新的 pos data.frame .

该示例的预期输出为:

result
[1] 2 3 1

提前致谢!

最佳答案

设置最小和最大阈值,然后将每个元素与它们进行比较

maxind <- max(pos + 1)
minind <- min(pos - 1)

然后

example[sapply(example, function(x) x > minind & x < maxind)]
## [1] 2 3 1

或者,类似地

example[example > minind & example < maxind]
## [1] 2 3 1

或者使用data.table

library(data.table)
example[between(example, minind, maxind, incbounds = FALSE)]
## [1] 2 3 1

关于r - 如何获取包含两个其他值之间的值的数据框行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30025358/

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