从数据框中选择值

时间:2019-09-09 09:16:23

标签: r

我想从数据框中选择一个大于指定值的值。我的数据框仅由单列组成

我正在尝试which.max函数,但这仅返回数据帧的第一个值

d[which.max(d$slope > 14.9),]

我想要一个值。首先比指定的大

1 个答案:

答案 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]),]
相关问题