我想从数据框中选择一个大于指定值的值。我的数据框仅由单列组成
我正在尝试which.max
函数,但这仅返回数据帧的第一个值
d[which.max(d$slope > 14.9),]
我想要一个值。首先比指定的大
答案 0 :(得分:1)
您可以按斜率对数据框进行排序,然后使用Position
进行第一个匹配:
dd <- d[order(d$slope), , drop = FALSE]
dd$slope[Position(function(x) x > 14.9, dd$slope)]
Position
的计算直到仅第一个TRUE
条件为止。它应该比使用which
或完整的向量比较要快得多。
或者您可以使用which.min
来获得大于阈值的较低值:
d[d$slope > 14.9][which.min(d$slope[d$slope > 14.9]),]