R 求一列的最小值和另一列上条件为最小值的对应行

R 求一列的最小值和另一列上条件为最小值的对应行,r,R,针对我在本报告中提出的问题: 列Min.Value是每个Key对应的最小Value我怎样才能同时填充Min.Value 2,它将是每个Key所获得的Min.Value对应的Value 2?您可以首先为组计算Min,并查找行号包含可用于获取Value2的min值的行的 使用dplyr的解决方案: Key Value Value2 Min Value Min Value2 1xA 1 2 1 2 2xA

针对我在本报告中提出的问题:


Min.Value
是每个
Key
对应的最小
Value
我怎样才能同时填充
Min.Value 2
,它将是每个Key所获得的
Min.Value
对应的
Value 2

您可以首先为组计算
Min
,并查找行号包含可用于获取
Value2
min
值的行的

使用dplyr的解决方案:

Key        Value Value2      Min Value Min Value2
1xA         1      2            1         2
2xA         2      3            2         3
3xB         3      1            2         2
1xB         1      1            1         1
1xA         5      5            1         2
2xB         2      6            2         6
3xB         2      2            2         2
2xA         4      1            2         3
数据:

library(dplyr)

df %>% group_by(Key) %>%
  mutate(MinValue = min(Value)) %>%
  mutate(MinValue2 = Value2[which(Value==MinValue)[1]]) %>%
  as.data.frame()

#   Key Value Value2 MinValue MinValue2
# 1 1xA     1      2        1         2
# 2 2xA     2      3        2         3
# 3 3xB     3      1        2         2
# 4 1xB     1      1        1         1
# 5 1xA     5      5        1         2
# 6 2xB     2      6        2         6
# 7 3xB     2      2        2         2
# 8 2xA     4      1        2         3

df根据上一个问题的答案,您尝试了什么?
df%groupby(Key)%%>%mutate(“Min Value”=Min(Value))
这完全解决了我的问题。
df <- read.table(text = 
"Key        Value Value2      
1xA         1      2         
2xA         2      3         
3xB         3      1         
1xB         1      1         
1xA         5      5         
2xB         2      6         
3xB         2      2         
2xA         4      1",
header = TRUE, stringsAsFactors = FALSE)