Предположим, у меня есть список матриц.Предположим, далее я нашел наименьшие значения по столбцу. Вот мой последний вопрос
Мне действительно нужно знать, из какой матрицы выбрано каждое наименьшее значение.Моя оригинальная функция очень сложна.Поэтому я привел простой пример.У меня есть одна идея, и я действительно не знаю, как правильно реализовать ее в R.
Моя идея такова:
Предположим, что [i,j]
- это элементы матрицы.Затем
if(d[[1]][i,j] < d[[2]][i,j]){
d[[1]][i,j] <– "x"
}else { d[[2]][i,j] <– "z"}
Итак, я хотел бы подписать название матрицы, которая соответствует каждому наименьшему значению.Затем сохраните имена в отдельной матрице.Итак, тогда я могу видеть значения в одной матрице и соответствующие им имена (откуда они берутся) в другой матрице
Например,
y <- c(3,2,4,5,6, 4,5,5,6,7)
x[lower.tri(x,diag=F)] <- y
> x
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 0 0
[2,] 3 0 0 0 0
[3,] 2 6 0 0 0
[4,] 4 4 5 0 0
[5,] 5 5 6 7 0
k <- c(1,4,5,2,5,-4,4,4,4,5)
z[lower.tri(z,diag=F)] <- k
> z
[,1] [,2] [,3] [,4] [,5]
[1,] 0 0 0 0 0
[2,] 1 0 0 0 0
[3,] 4 5 0 0 0
[4,] 5 -4 4 0 0
[5,] 2 4 4 5 0
d <- list(z, x)
Тогда:
do.call(pmin, d) (answered by @akrun)
Тогда я получу только матрицу с наименьшими значениями.Я хотел бы знать, откуда берется каждое значение?
Любая идея или помощь, пожалуйста?