首页 > 解决方案 > 给定另一列的三个最小值,我需要找到一列中的值

问题描述

我有一个数据集 data1 ,我需要找到一列pph中的最小值,并找出它们在另一列状态中对应的值,即第 1 列

这就是我所拥有的

data1[which.min(data1$pph), 1]

这给了我最小值和它在第一列中对应的值,但我不知道如何找到三个最小的值以及它们对应的值。

标签: r

解决方案


这可以使用slice_min()dplyr 库轻松完成。

# making fake data
data1 <- data.frame("pph" = c(1:10), "state" = c(rep(c(1,2),5)))

# find min 3 pph but only show state column
data1 %>% slice_min(pph, n = 3) %>% select(state)

如果需要,您还可以将 dplyr 管道的输出分配给变量。


推荐阅读