【问题标题】:Finding the Max value for a every row in a range of columns查找列范围内每一行的最大值
【发布时间】:2020-07-29 12:21:21
【问题描述】:
我有一个包含大约 900 行和十几列的数据框。 #7 - #11 列(从 7 到 11)包含 0 到 100 之间的数字(包括 0 到 100)。我想知道的是如何找到:
a) 每行指定列范围的最大值
b) 哪一列的最大值(即第 8 列的值为 100,因此它包含最大的数字)
因此,例如,我希望它返回如下内容:第 142 行在第 9 列中具有最大值,或者第 748 行在第 6 列中具有最大值,等等。
【问题讨论】:
标签:
r
max
row
multiple-columns
【解决方案1】:
index = 7:11
a) 指定列范围的最大值
apply(dataframe[,index], 1, max)
b) 最大索引
apply(dataframe[,index], 1, which.max)
【解决方案2】:
我们可以使用rowMaxs
library(matrixStats)
index <- 7:11
rowMaxs(as.matrix(df1[, index]))
或pmax
do.call(pmax, df1[, index]))