如何解决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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。