在其他列中查找与最大值对应的值
Find value corresponding to maximum in other column
我有一个类似如下的数据框:
x <- c(1, 2, 3, 4, 5)
y <- c(1, 2, 3, 2, 1)
df <- data.frame(x, y)
我想求 x
在 y
最大值时的值。我知道我可以找到 y
的最大值:
max(df$y)
但是我不知道怎么搭配,我想可能有更好的办法。
尝试像这样建立索引:
df$x[df$x == max(y)]
使用dplyr
:
# install.packages(dplyr)
library(dplyr)
df %>%
filter(x == max(y)) %>% # filter the data.frame to keep row where x is maximum
select(x) # select column y
替代return一个向量
df %>%
filter(x == max(y)) %>%
pull(x) # pull the variable y
使用基数 R:
df[df$x == max(df$y), "x"]
我有一个类似如下的数据框:
x <- c(1, 2, 3, 4, 5)
y <- c(1, 2, 3, 2, 1)
df <- data.frame(x, y)
我想求 x
在 y
最大值时的值。我知道我可以找到 y
的最大值:
max(df$y)
但是我不知道怎么搭配,我想可能有更好的办法。
尝试像这样建立索引:
df$x[df$x == max(y)]
使用dplyr
:
# install.packages(dplyr)
library(dplyr)
df %>%
filter(x == max(y)) %>% # filter the data.frame to keep row where x is maximum
select(x) # select column y
替代return一个向量
df %>%
filter(x == max(y)) %>%
pull(x) # pull the variable y
使用基数 R:
df[df$x == max(df$y), "x"]