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

时间:2016-12-06 05:14:15

标签: r data-manipulation

我有以下数据:

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

我正在尝试添加一个列min_colname列,其中每行的最小值都会映射到列名....例如,对于行1 min,值为12.9。所以min_colname中的第一项应该是dc1而不是实际的obs值.....

1 个答案:

答案 0 :(得分:0)

这应该有效:

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