it-swarm.asia

ابحث عن فهرس الصفوف والأعمدة ذات القيمة القصوى في المصفوفة

أرغب في العثور على الحد الأقصى لقيمة عنصر المصفوفة وموقعها (في صف ومعرّف العمود في المصفوفة).

أستخدم الوظيفة التالية لإرجاع صف وعمود المصفوفة.

يبدو هذا كأنه اختراق سيئ - إنه نوع من الأشياء التي ربما أفتقد فيها طريقة أصلية. هل هناك طريقة أفضل/ أكثر R الطريق؟

ها هي وظيفتي:

matxMax <- function(mtx)
{
    colmn <- which(mtx == max(mtx)) %/% nrow(mtx) + 1
    row <- which(mtx == max(mtx)) %% nrow(mtx)
    return( matrix(c(row, colmn), 1))
}

أنا استخدم على النحو التالي:

mm <- matrix(rnorm(100), 10, 10)
maxCords <- matxMax(mm)
mm[maxCords]
50
ricardo

هل يمكن أن تفعل

## Some data
set.seed(123)
mm <- matrix(rbinom(40, 20, 0.5), 8, 5)
mm
#      [,1] [,2] [,3] [,4] [,5]
# [1,]    9   10    8   11   11
# [2,]   12   10    6   11   12
# [3,]    9   14    9   10    6
# [4,]   13   10   14   11   10
# [5,]   13   11   13    9   12
# [6,]    6   10   11    8    8
# [7,]   10    7   11   14    9
# [8,]   13   13   16   13    8

which(mm == max(mm), arr.ind = TRUE)
#      row col
# [1,]   8   3
98
QuantIbex

ماذا عن هؤلاء؟

which.min(mm)
which.max(mm)
0
Dongho Yoo