【问题标题】:how we can find the closest row to a particular data point of a column?我们如何找到与列的特定数据点最近的行?
【发布时间】:2019-09-15 01:39:13
【问题描述】:

我知道我们可以用

在 a 列中找到第 11500 行的索引
which(df$a == 11500)

如果我想为特定列值找到最接近且小于行索引的情况。

a 列中的示例:

  a
  1
  2 
  5       
 10

小于或等于 8 且最接近它的值的行号是多少?答案:值为 5,我要查找的行索引为 3。

【问题讨论】:

    标签: r dataframe


    【解决方案1】:

    这是一种方法

    a <- c(1, 2 , 5,  10)
    val <- 8
    
    vals <- a - val
    which(a == max(a[vals <= 0]))
    #[1] 3
    

    如果a 总是排序,我们也可以使用findInterval

    max(which(findInterval(a, val, left.open = TRUE) == 0))
    

    【讨论】:

    猜你喜欢
    • 2021-01-10
    • 2020-01-18
    • 2021-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-13
    • 2019-09-02
    相关资源
    最近更新 更多