提取范围内的变量最大值

时间:2019-02-21 23:33:11

标签: r dataframe range max intervals

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

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)

我想找到在Time1Time2的特定范围内存在的V4最大值。例如,我将检查Time 1 >=0Time2 <= 10Time1 >= 10Time2 <= 20Time1 >=20Time2 <=30存在的所有数据...等等,然后找出V4的最大值,并在这些范围内与之对应的Name

有人对此有任何建议吗?

1 个答案:

答案 0 :(得分:0)

  • 对于每对时限,使用例如

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

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

    idx <- which.max(df2$V4)

  • df2[idx, 'Name']应该给您您想要的东西。