Я имеюВыбор строк обусловливающих значений столбца из нескольких матриц
mat1 = matrix(c(2, 4, 3, 6, 7, 8), nrow=2, ncol=3)
mat2 = matrix(c(5, 6, 7, 1, 2, 3), nrow=2, ncol=3)
mat3 = matrix(c(8, 5, 8, 6, 7, 9), nrow=2, ncol=3)
, которая дает мне 3 матрицы:
[,1] [,2] [,3]
[1,] 2 3 7
[2,] 4 6 8
[,1] [,2] [,3]
[1,] 5 7 2
[2,] 6 1 3
[,1] [,2] [,3]
[1,] 8 8 7
[2,] 5 6 9
То, что я хотел бы сделать, это сравнить три матрицы в ряд за первый столбец , и выберите строку матрицы, которая имеет самое высокое значение в первом столбце.
Например: в столбце 1 столбца 1 матрица 3 имеет наибольшее значение (8) по сравнению с матрицей 1 (2) и матрицей2 (5). В столбце 1 строки 2 матрица 2 имеет наибольшее значение (6). Я хотел бы создать новую матрицу, которая копирует строку матрицы, которая имеет, что наибольшее значение, в результате чего:
[,1] [,2] [,3]
[1,] 8 8 7 <- From mat3
[2,] 6 1 3 <- From mat2
Я знаю, как получить вектор с наибольшими значениями из столбца 1, но я не могу получить вся строка матрицы копируется в новую матрицу. У меня есть:
mat <- (mat1[1,])
который просто копирует первую строку первой матрицы
[1] 2 3 7
можно выбрать номер максимальное количество:
max(mat1[,1],mat2[,1],mat3[,1])
[1] 8
Но я не могу совмещать два возвращают матрицу со всей строкой. Получение кода для цикла для каждой строки будет без проблем, но я не могу заставить его работать для первой строки и как таковой, мне не хватает необходимого кода. Любая помощь будет принята с благодарностью. Спасибо.