如何return包含R数据框中最小值的列的索引

How to return the index of a column containing minimum value in a dataframe in R

Suppsoe 我有一个 100X10 的数据框。对于每一行,我想添加一个额外的列,其中包含包含最小值的列号。此功能仅适用于特定列,例如第 6 至 10 列。

我们可以使用max.col

transform(df1, newCol = (max.col(-1*df1[6:10], "first"))+5)

注意:与任何循环或基于 apply 的方法相比,max.col 方法会非常快。

数据

set.seed(24)
df1 <- as.data.frame(matrix(rnorm(100*10), ncol=10))

另一种使用@akrun 的方法df1

df1$index_col <- apply(df1[,6:10],1,which.min)+5