R 查找每行和报表列名中的最大值

R 查找每行和报表列名中的最大值,r,dataframe,R,Dataframe,我有这样一个数据帧: V1 V2 V3 0.4 -0.9 0.6 0.8 -0.2 0.4 -0.6 0.1 0.8 我希望得到最大值(符号不重要),并在最后打印列中具有最大值的列的名称 我想要这个: V1 V2 V3 MAX 0.4 -0.9 0.6 V2 0.8 -0.2 0.4 V1 -0.6 0.1 0.8 V3 有什么想法吗

我有这样一个数据帧:

 V1      V2     V3    
 0.4    -0.9    0.6
 0.8    -0.2    0.4
-0.6     0.1    0.8
我希望得到最大值(符号不重要),并在最后打印列中具有最大值的列的名称

我想要这个:

 V1      V2     V3     MAX 
 0.4    -0.9    0.6    V2
 0.8    -0.2    0.4    V1
-0.6     0.1    0.8    V3

有什么想法吗

我们可以对数据帧的绝对值使用
max.col

df$MAX <- names(df)[max.col(abs(df))]

df
#    V1   V2  V3 MAX
#1  0.4 -0.9 0.6  V2
#2  0.8 -0.2 0.4  V1
#3 -0.6  0.1 0.8  V3
数据

df <- structure(list(V1 = c(0.4, 0.8, -0.6), V2 = c(-0.9, -0.2, 0.1
), V3 = c(0.6, 0.4, 0.8)), class = "data.frame", row.names = c(NA, 
-3L))

df我们可以对数据帧的绝对值使用
max.col

df$MAX <- names(df)[max.col(abs(df))]

df
#    V1   V2  V3 MAX
#1  0.4 -0.9 0.6  V2
#2  0.8 -0.2 0.4  V1
#3 -0.6  0.1 0.8  V3
数据

df <- structure(list(V1 = c(0.4, 0.8, -0.6), V2 = c(-0.9, -0.2, 0.1
), V3 = c(0.6, 0.4, 0.8)), class = "data.frame", row.names = c(NA, 
-3L))

df非常感谢您!那对我有用!非常感谢你!那对我有用!