r - 提取范围内变量的最大值
问题描述
我有一个包含一系列变量的数据框,如下所示:
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 >=0
and Time2 <= 10
, Time1 >= 10
and Time2 <= 20
, Time1 >=20
and Time2 <=30
... 等,并找到 and 的最大值V4
,它Name
在这些范围内是对应的。
有人对如何做到这一点有任何建议吗?
解决方案
对于每对时间界限,使用例如子选择数据帧
df2 <- df[(df$Time1>=0) & (df$Time1<10), ]
将其与
which.max
列选择结合起来以获取行索引:idx <- which.max(df2$V4)
df2[idx, 'Name']
应该给你你想要的。
推荐阅读
- r - 如何计算任意两个给定值在 R 中连续出现的次数?
- python - 作为 Python 中 sklearn 管道的一部分,将 base_margin 传递给 xgboost 模型
- dynamic - 需要从 Kakfa 主题消费并动态提供 cron 表达式(从 kafka 主题接收)到quartz2
- filter - Power BI - 显示符合条件的最新行/总和为 N
- arrays - 如何将矩阵存储在C中的数组中?
- tensorflow - 观察中的深度强化学习运动
- c# - 是否可以在编辑器在 Unity 中进入播放模式之前更改要加载的场景?
- jmeter - 如何在 Jmeter 中删除 JMS 点对点采样器的 RFH2 标头
- javascript - 如何映射和过滤数组对象?
- c++ - 为什么这个 C++ 数组模板类用垃圾值初始化?