r - R:获取向量中第一个实例的索引大于变量但对于整个列
问题描述
我正在尝试在 data.table 中创建一个新变量。它旨在获取 data.table 中的一个变量,并将每个观察值与一个向量进行比较,并返回向量中大于 data.table 中的变量的第一个观察值的索引。
例子
ComparatorVector <- c(seq(1000, 200000, 1000))
Variable <- runif(10, min = 1000, max = 200000)
对于中的每个观察,Variable
我想知道第一个观察的指数ComparatorVector
大于 的观察Variable
。
我玩过 araound min(which())
,但无法通过ComparatorVector
. 我也看到了这个match()
函数,但没有找到如何让它返回除了完全匹配的索引之外的任何东西。
解决方案
一个选项是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
推荐阅读
- python - 复制的 OpenCV 图像与原始图像不同
- java - 使用 Java,如何检查组织单位 (OU) 在 LDAP 中是否可用?
- web-crawler - Rendertron 在开发或登台服务器上没有响应
- angular - 加载数据后的空白模板:Angular 8
- java - 扫描仪出现 Java 问题(找不到行)我该如何解决?
- mongodb - 我希望 mongodb 的一个字段中的所有唯一数组值一起
- axapta - 特殊字段值和空值的安全策略
- pandas - .iterrows 上的 jupyter 中的语法错误
- sftp - 带有 WSO2EI 7 Integration Studio 的 Micro Integrator 1.1.0 中的 SFTP 问题
- php - 怎么获得使用 DOMXpath 标记属性