R:查找与数据框列的最小值匹配的值

时间:2018-03-26 14:26:42

标签: r

我有这个简单的代码,它创建了一个数据框:

value1=matrix(c(1,2,3,4,5,6,7), ncol=1)
value2=matrix(c(0.1, 0.2, 0.4, 0.5, 0.01, 0.6, 0.7), ncol=1)
df=data.frame(value1, value2)
min(df$value2)

以下是数据框:

  value1 value2
1      1   0.10
2      2   0.20
3      3   0.40
4      4   0.50
5      5   0.01
6      6   0.60
7      7   0.70

我想找到value1,其中value2是最小的。例如。这里最小的value20.01。对于此值(0.01),value1为5。 我试图得到这样的东西: smallest_value1=5

我只能找到value2的最小值:min(df$value2),但我不知道如何将其与value1联系起来。

我真的很感激任何建议。

3 个答案:

答案 0 :(得分:3)

这似乎是一项工作:

 - ----.      .----------.      .---- -       .---- -
 filesrc     | avidemux |      | vpudec      | imxg2dsink
     src -> sink       src -> sink    src -> sink
- ----'      '----------'      '---- -       '---- -

答案 1 :(得分:3)

其他选项包括which.min:

df$value1[which.min(df$value2)]

并使用dplyr语法:

library(tidyverse) 
df %>% filter(value2 == min(value2)) %>% select(value1)

答案 2 :(得分:2)

试试这个

library(dplyr)
df %>% 
  filter(value2==min(value2)) %>% 
  mutate(smallest_value1=value1) %>% 
  select(smallest_value1)

输出

#   A tibble: 1 x 1
#   smallest_value1
#             <int>
# 1               5