R语言:如何根据行最大值创建新的分组列
你可以使用 apply 函数来实现这个任务。下面是一个示例代码:
# 创建一个示例数据框
df <- data.frame(A = c(1, 2, 3),
B = c(4, 5, 6),
C = c(7, 8, 9),
D = c(10, 11, 12),
E = c(13, 14, 15))
# 创建一个函数,用于找到每一行最大值所在列的列名
find_max_col <- function(row) {
max_value <- max(row)
max_cols <- names(row)[row == max_value]
max_cols[1]
}
# 使用apply函数应用上述函数到每一行数据,并创建新的一列'group'
df$group <- apply(df, 1, find_max_col)
# 输出结果
df
这将生成一个新的一列'group',其中包含每一行最大值所在列的列名。如果最大值有多个,那么将选择第一个最大值所在列作为'group'的值。
原文地址: https://www.cveoy.top/t/topic/piSN 著作权归作者所有。请勿转载和采集!