首页 > 解决方案 > 提取范围内变量的最大值

问题描述

我有一个包含一系列变量的数据框,如下所示:

Name <- paste(letters[1:26])
Time1 <- runif(n = 26, min = 0,max= 500)
Time2 <- runif(n =26, min = 0,max= 500)
V4 <- runif(n = 26, min = 0, max = 1000 )
df <- data.frame(Name, Time1,Time2, V4)

Time1我想找到存在于和的特定范围内的 V4 的最大值Time2。例如,我会检查存在的所有数据Time 1 >=0and Time2 <= 10, Time1 >= 10and Time2 <= 20, Time1 >=20and Time2 <=30... 等,并找到 and 的最大值V4,它Name在这些范围内是对应的。

有人对如何做到这一点有任何建议吗?

标签: rdataframerangemaxintervals

解决方案


  • 对于每对时间界限,使用例如子选择数据帧

    df2 <- df[(df$Time1>=0) & (df$Time1<10), ]

  • 将其与which.max列选择结合起来以获取行索引:

    idx <- which.max(df2$V4)

  • df2[idx, 'Name']应该给你你想要的。


推荐阅读