首页 > 解决方案 > 如何根据行最大值选择一列

问题描述

我需要有关数据提取问题的帮助。我有一个数据框,我需要根据第一个构建另一个:

数据

我想在我的新数据集中有 3 列。对于那些在“均值”行中具有最大值的个人(列),第一个必须具有从 2000 到 2020 的值。第二列必须有我在每一行中写的东西,第三列必须有之前选择的那一列的标题作为具有最大平均值的那一列。那么对于这种情况,结果必须如下所示:

图片

如果你能帮助我,那就太好了。

提前致谢。

标签: rdatabasedataframetidyversereshape

解决方案


您可以使用 -

library(dplyr)

res <- cmk %>%
  transmute(Industrials, 
            category = row_number(), 
            subcategory = 'Industrials')
res

#   Industrials category subcategory
#1     1.263835        1 Industrials
#2     1.264464        2 Industrials
#3     1.305693        3 Industrials
#4     1.313662        4 Industrials
#5     1.336979        5 Industrials
#6     1.279066        6 Industrials
#7     1.205527        7 Industrials
#8     1.161275        8 Industrials
#...
#...

推荐阅读