R:获取向量中第一个实例的索引大于变量但对于整个列

问题描述

我正在尝试在 data.table 中创建一个新变量。它旨在获取 data.table 中的一个变量,并针对每个观察将该变量与一个向量进行比较,并返回该向量中大于 data.table 中的变量的第一个观察的索引。

示例

gcloud components update

对于 ComparatorVector <- c(seq(1000,200000,1000)) Variable <- runif(10,min = 1000,max = 200000) 中的每个观察,我想知道 Variable 中第一个观察的索引大于 ComparatorVector 的观察。

我玩过 Variable,但无法让它通过 min(which())。我还看到了 ComparatorVector 函数,但没有找到如何让它返回除完全匹配的索引之外的任何内容

解决方法

一个选项是 findInterval

findInterval(Variable,ComparatorVector) +1
#[1] 190 152  99 107  38 148 114  95  53  73

或者用sapply

sapply(Variable,function(x) which(ComparatorVector > x)[1])
#[1] 190 152  99 107  38 148 114  95  53  73

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...