Мне нужно выбрать максимальный элемент строки матрицы, но ограничивая мое я до интервала между некоторыми столбцами. Мне нужно сделать это несколько раз и «диапазон столбцов», в котором мне нужно каждый раз менять изменения. Пока что это ограничение привязки, которое мешает мне запускать моделирование в разумные сроки. Ниже приведен пример того, что я делаю. Код мне нужно оптимизировать это mapply(function(x,y) apply(A[c(x,x:y,y),],2,max),Min,Max)
Быстрый способ выбора максимального элемента строки между некоторыми столбцами
A=matrix(runif(100^2),ncol=100)
Min=sample(80,10000,replace=T)
Max=Min+sample(1:10,10000,replace=T)
system.time(mapply(function(x,y) apply(A[c(x,x:y,y),],2,max),Min,Max))
user system elapsed
1.52 0.01 1.54
@ MauricoRomero, я могу быть неверным, но ваш код делает противоположное тому, что вы заявляете в своем вопросе. А именно, вы говорите, что хотите найти элемент max в строке, если у вас есть подмножество столбцов. Однако 'A [c (x, x: y, y),]' является подмножеством по строкам. Также 'apply (A [c (x, x: y, y),], 2, max)', ищет максимальный элемент в столбце. Я что-то не понимаю? –