查找列范围内每一行的最大值

时间:2020-04-16 09:44:50

标签: r max row multiple-columns

我有一个数据框,其中包含约900行和十几列。 #7-#11列(因此从7到11)包含0到100之间的数字(含0和100)。我想知道的是我如何找到:

a)每行指定列范围的最大值

b)哪一列具有最大值(即,第8列的值为100,因此它包含的数字最多)

例如,我希望它返回以下内容:第142行的最大值在第9列中,或者第748行的最大值在第6列中,等等。

2 个答案:

答案 0 :(得分:1)

index = 7:11

a)指定列范围的最大值

apply(dataframe[,index], 1, max)

b)最大索引

apply(dataframe[,index], 1, which.max)

答案 1 :(得分:1)

我们可以使用rowMaxs

library(matrixStats)
index <- 7:11
rowMaxs(as.matrix(df1[, index]))

或与pmax

do.call(pmax, df1[, index]))