我有一个包含一系列变量的数据框,如下所示:
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
和Time2
特定范围内的V4的最大值。例如,我将检查Time 1 >=0
和Time2 <= 10
,Time1 >= 10
和Time2 <= 20
,Time1 >=20
和Time2 <=30
等等存在的所有数据,并找到V4
的最大值,并在这些范围内找到相应的Name
。
有没有人对如何做到这一点有任何建议?
df2 <- df[(df$Time1>=0) & (df$Time1<10), ]
which.max
和列选择结合起来得到行索引:
idx <- which.max(df2$V4)
df2[idx, 'Name']
应该给你你想要的东西。