R 如何获取值最接近0的列名?
我有一个数据框df1,我想用该列的名称设置另一列,使其值接近于0: df1R 如何获取值最接近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另一个选项
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