在R中按行按列范围查找最大值的名称

问题描述 投票:0回答:1

我有一个与此问题中概述的类似问题。问题是我有超过 200 列,所以我无法像这段代码一样列出它们:

df %>% rowwise %>% mutate(Max = names(.)[which.max(c(x, y, z))]) %>% ungroup
我尝试过使用此代码,但它给出了我所有列的最大值,我只需要第 3 至 223 列的最大值。第 1 列和第 2 列是 ID 和年份,我需要它们。

df %>% rowwise() %>% mutate(Max = names(.)[which.max(c_across(3:223))]) %>% ungroup()
我的所有列都有不同的名称,所以我无法使用

mutate(Max = names(.)[which.max(c_across(starts_with("X")))])
如何在大约 200 列的数据集中找到每行最大值的列的名称,而不列出所有 200 列的名称?

r max multiple-columns
1个回答
0
投票
在基础 R 中,使用

max.col

:

cbind(df, Max = names(df)[max.col(df)])
    
© www.soinside.com 2019 - 2024. All rights reserved.