r - 给定另一列的三个最小值,我需要找到一列中的值
问题描述
我有一个数据集 data1 ,我需要找到一列pph中的最小值,并找出它们在另一列状态中对应的值,即第 1 列
这就是我所拥有的
data1[which.min(data1$pph), 1]
这给了我最小值和它在第一列中对应的值,但我不知道如何找到三个最小的值以及它们对应的值。
解决方案
这可以使用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 管道的输出分配给变量。
推荐阅读
- python - 如何加载张量流数据集?
- javascript - PayPal补丁有时会失败
- rust - 介子构建 - 锈 - lib cdylib
- java - 如何在 GraphQL 中将附加信息传递给子解析器?
- json - 如何在 Xamarin 中解析来自 API 的 JSON 响应
- java - 字符串索引超出范围:java中的-1问题
- python - “yield”表达式和值在生成器函数内返回
- python - ValueError:意外的元组 '[' 与 StructType
- python - 当我提前返回值为 None 时,为什么我会收到 Optional 类型的 mypy 错误?
- environment-variables - NextJS - 如何获取运行时环境变量