在数据框中找到第二个最小值的索引

凯克斯

我有一个数据帧df1。我想从此数据框中找到第二个最小值的索引。使用which.min函数,我可以获取最小值的行索引,但是有没有办法获取第二最小值的索引?

> df1
structure(list(x = c(1, 2, 3, 4, 3), y = c(2, 3, 2, 4, 6), z = c(1, 
4, 2, 3, 11)), row.names = c(NA, -5L), class = c("tbl_df", "tbl", 
"data.frame"))


 >df1
 x    y    z
 1    2    1
 2    3    4
 3    2    2
 4    4    3
 3    6   11

这是我想要的输出。例如,在x中,第2行中的值2是第二个最小值。谢谢。

>df2
x    2
y    2
z    3
A5C1D2H2I1M1N2O1R2T1

更新的答案

您可以使用编写类似以下的函数factor

which_min <- function(x, pos) {
  sapply(x, function(y) {
    which(as.numeric(factor(y, sort(unique(y)))) == pos)[1]
  })
}

which_min(df1, 2)
# x y z 
# 2 2 3 

用其他数据进行测试:

df2 <- df1
df2$new <- c(1, 1, 1, 2, 3)
which_min(df2, 2)
#   x   y   z new 
#   2   2   3   4 

原始答案

sort可以使用order以下方法代替

sapply(df1, function(x) order(unique(x))[2])
# x y z 
# 2 2 3

或者,您可以在中使用index.return参数sort

sapply(df1, function(x) sort(unique(x), index.return = TRUE)$ix[2])
# x y z 
# 2 2 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找到第二个索引的最小值,然后找到列表 Python 的第三个索引的最大值

来自分类Dev

DAX公式以其他条件找到第二个最小值

来自分类Dev

寻找第二个最小值

来自分类Dev

寻找第二个最小值

来自分类Dev

基于标准的第二个最小值

来自分类Dev

在第一个数据框给定的2个日期之间找到第二个数据框的最小值和最大值

来自分类Dev

如何有效地过滤由两列 groupby 操作获得的数据框以仅包含第二个索引的最大值和最小值?

来自分类Dev

在C ++中查找数组的最小和第二个最小值

来自分类Dev

Python熊猫:在groupby中选择第二个最小值

来自分类Dev

如何在列表中查找第二个元素的最小值

来自分类Dev

DAX公式使用过滤器查找第二个最小值

来自分类Dev

DAX公式使用过滤器查找第二个最小值

来自分类Dev

如何在内部联接中选择第二个最小值?

来自分类Dev

用R中的第二个最小值组替换异常值

来自分类Dev

有什么功能可以找到二维数组中的第二个最小值或最大值?

来自分类Dev

根据第二个数据框R上的索引替换数据框中的值

来自分类Dev

如何在字符串中找到倒数第二个索引?

来自分类Dev

删除在第二个文件中找到的单词

来自分类Dev

数据框中的值介于第二个数据框中的值之间

来自分类Dev

将第二个条目保留在数据框中

来自分类Dev

Matlab在列中找到x个最小值的索引

来自分类Dev

在group_by中存储/保留第二个最小值,并使用Dplyr进行汇总

来自分类Dev

在 where 子句中使用子查询来查找第二个最小值

来自分类Dev

根据对的第二个值找到对的向量的上限

来自分类Dev

根据第二个的NA值覆盖熊猫数据框中的值

来自分类Dev

从第二个文本框获取数据

来自分类Dev

删除数据框中的第二个精确观测值

来自分类Dev

如何在python中找到第二个标准差以上的值的百分比?

来自分类Dev

如何在R中的栅格堆栈中找到第二个最大值和相应的图层名称

Related 相关文章

  1. 1

    找到第二个索引的最小值,然后找到列表 Python 的第三个索引的最大值

  2. 2

    DAX公式以其他条件找到第二个最小值

  3. 3

    寻找第二个最小值

  4. 4

    寻找第二个最小值

  5. 5

    基于标准的第二个最小值

  6. 6

    在第一个数据框给定的2个日期之间找到第二个数据框的最小值和最大值

  7. 7

    如何有效地过滤由两列 groupby 操作获得的数据框以仅包含第二个索引的最大值和最小值?

  8. 8

    在C ++中查找数组的最小和第二个最小值

  9. 9

    Python熊猫:在groupby中选择第二个最小值

  10. 10

    如何在列表中查找第二个元素的最小值

  11. 11

    DAX公式使用过滤器查找第二个最小值

  12. 12

    DAX公式使用过滤器查找第二个最小值

  13. 13

    如何在内部联接中选择第二个最小值?

  14. 14

    用R中的第二个最小值组替换异常值

  15. 15

    有什么功能可以找到二维数组中的第二个最小值或最大值?

  16. 16

    根据第二个数据框R上的索引替换数据框中的值

  17. 17

    如何在字符串中找到倒数第二个索引?

  18. 18

    删除在第二个文件中找到的单词

  19. 19

    数据框中的值介于第二个数据框中的值之间

  20. 20

    将第二个条目保留在数据框中

  21. 21

    Matlab在列中找到x个最小值的索引

  22. 22

    在group_by中存储/保留第二个最小值,并使用Dplyr进行汇总

  23. 23

    在 where 子句中使用子查询来查找第二个最小值

  24. 24

    根据对的第二个值找到对的向量的上限

  25. 25

    根据第二个的NA值覆盖熊猫数据框中的值

  26. 26

    从第二个文本框获取数据

  27. 27

    删除数据框中的第二个精确观测值

  28. 28

    如何在python中找到第二个标准差以上的值的百分比?

  29. 29

    如何在R中的栅格堆栈中找到第二个最大值和相应的图层名称

热门标签

归档