R 如何获取值最接近0的列名?

R 如何获取值最接近0的列名?,r,dataframe,R,Dataframe,我有一个数据框df1,我想用该列的名称设置另一列,使其值接近于0: df1 x使用max.col我们可以得到最接近于0的值的索引 max.col(-abs(df)) #[1] 1 2 1 要获取列名,我们可以使用此索引从数据帧的名称中对其进行子集 df$closest <- names(df)[max.col(-abs(df))] df # x y closest #1 1 4 x #2 5 2 y #3 3 6 x df$closest另一个选项

我有一个数据框df1,我想用该列的名称设置另一列,使其值接近于0:

df1


x使用
max.col
我们可以得到最接近于0的值的索引

max.col(-abs(df))
#[1] 1 2 1
要获取列名,我们可以使用此索引从数据帧的
名称中对其进行子集

df$closest <- names(df)[max.col(-abs(df))]
df
#  x y closest
#1 1 4       x
#2 5 2       y
#3 3 6       x

df$closest另一个选项是:

df$closest <- colnames(df)[apply(df, 1, which.min)]
df$closest <- colnames(df)[apply(df, 1, which.min)]
structure(list(x = c(1L, 5L, 3L), y = c(4L, 2L, 6L)), class = "data.frame", row.names = c(NA, 
-3L)) -> df