使用dplyr和来自不同列的返回元素查找列中的最大值
假设以下数据帧:使用dplyr和来自不同列的返回元素查找列中的最大值,r,dataframe,dplyr,max,R,Dataframe,Dplyr,Max,假设以下数据帧: df试试这个。将数据重塑为long,然后按包含列的name变量分组。在该过滤器之后,获取最大值并识别a变量中的观察值。代码如下: library(tidyverse) #Code newdf <- df %>% pivot_longer(-a) %>% group_by(name) %>% filter(value==max(value)) 库(tidyverse) #代码 newdf%pivot\u更长(-a)%%>%group\u by(name)
df试试这个。将数据重塑为long,然后按包含列的name
变量分组。在该过滤器之后,获取最大值并识别a
变量中的观察值。代码如下:
library(tidyverse)
#Code
newdf <- df %>% pivot_longer(-a) %>% group_by(name) %>% filter(value==max(value))
库(tidyverse)
#代码
newdf%pivot\u更长(-a)%%>%group\u by(name)%%>%filter(value==max(value))
输出:
# A tibble: 3 x 3
# Groups: name [3]
a name value
<fct> <chr> <dbl>
1 blue c 7
2 yellow d 8
3 orange b 7
#一个tible:3 x 3
#分组:名称[3]
名称值
1蓝色c 7
2黄色d 8
3橙色b 7
在重塑为“长”格式后,我们可以使用slice\u max
library(dplyr)
library(tidyr)
df %>%
pivot_longer(-a) %>%
group_by(name) %>%
slice_max(value)
-输出
# A tibble: 3 x 3
# Groups: name [3]
# a name value
# <chr> <chr> <dbl>
#1 orange b 7
#2 blue c 7
#3 yellow d 8
#一个tible:3 x 3
#分组:名称[3]
#名称值
#
#1橙色b 7
#2蓝色c 7
#3黄色d 8