R-如何将列名映射到行最小值



我有以下数据:

df
     dc1  dc2  dc3   min_colname
[1,] 12.9 13.4 13.4
[2,]  6.1  6.5  6.5
[3,]  6.3  6.7  6.7
[4,] 21.0 21.4 21.4
[5,]  1.6  1.8  1.8
[6,]  3.3  3.7  3.7
[7,]  7.0  7.4  7.4
[8,]  3.2  3.6  3.6
[9,] 14.8 15.2 15.2
[10,]  7.9  8.3  8.3

我正在尝试再添加一列Say min_colname,它将具有每行的最小值但映射到列名。...例如,第1分钟的值是12.9 .. SO SO SO MIN_COLNAME中的第一个项目应该是dc1,而不是实际的观察值.....

这应该有效:

df$min_colname  <- apply(df, 1, function(x) colnames(df)[which.min(x)])

最新更新