首页 > 解决方案 > R函数查找最接近给定值的数组中的值的索引

问题描述

我目前正在为 R 中的一些心电图图设置定位器。想法是单击两次 (locator(n = 2)) 以获得 x 轴的最小和最大索引,然后放大细节心电图。

问题是我在数组中得到了两个舍入值,location_array用于绘制新的值字段(对于 x),但是如果我尝试将它与包含我的数据的数据框一起使用,df它使用的是我的 x 轴输入的实际值定位器而不是值的索引。

长话短说:如何获得最接近 location_array 的最小值和最大值的值的索引?

    par(ask = TRUE)
      
    location_array <- locator(n = 2)
      
    location_array <- round(location_array$x) 

    attach(df)
  
    #need the indexes of the values closest to location_array[1] and location_array[2] of df$time
    df2 <- df[location_array[1]:location_array[2],]

谢谢,祝大家晚上愉快

标签: rindexing

解决方案


万一有人偶然发现我的问题,我用以下方法解决了它:

 location_array[1] <- which.min(abs(my.dataframe$Zeit - location_array[1])) 
 location_array[2] <- which.min(abs(my.dataframe$Zeit - location_array[2])) 

推荐阅读