如何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
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