Estimados Colegas:
Tengo 2 preguntas, la primera es como lo dice el asunto, ordenar una matriz
parecida a:
0 16 10 20 16 9 14
16 0 8 4 2 13 14
10 8 0 2 13 4 6
20 4 2 0 19 3 25
16 2 13 19 0 17 31
9 13 4 3 17 0 7
14 14 6 25 31 7 0
Pretendo que queden ordenados de man
Hola,
¿Quieres ordenar de forma descendente cada una de las columnas de la
matriz?.
Lo puedes hacer de esta forma:
#---
> my_mat <- matrix( sample(1:100,100), byrow=TRUE, ncol = 10, nrow=10)
> my_mat
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,
Carlos:
Te agradezco mucho tu rápida respuesta y mucho me apena haber planteado tan
mal el problema. Porque la matriz en realidad es:
g1 g2 g3 g4 g5 g6 g7
g1 0 18 13 16 11 12 15
g2 18 0 25 13 22 16 10
g3 13 25 0 28 23 13 25
g4 16 13 28 0 6 7 3
g5 11 22 23 6 0 18 17
g6 12 16 13 7 18
Hola Manuel,
Si a partir de la matriz que has planteado, o una más pequeña para sea más
sencillo, indicas cómo es la nueva matriz ordenada creo que se va a
entender mejor. Sigo sin entender si quieres ordenar por una columna en
particular o como te planteaba cada una por independiente...
Gracias,
Estimado Manuel Máquez
No se como describirlo en forma matemática, pero al ver sus datos hay algo de
“simétrico”, en otras palabras, si la matriz es un cuadrado yo la puedo cortar,
o doblar como una servilleta, y los números coinciden. Por otro lado la primer
columna tiene una fila, la segunda
Carlos. gracias otra vez; a Javier también gracias.
Partiendo del ejemplo de mi última comunicación, quisiera que quedara así:
g2 18 g3 25 g4 28 g3 28 g3 23 g5 18
g4 16 g5 22 g2 25 g1 16 g2 22 g2 16
g7 15 g1 18 g7 25 g2 13 g6 18 g3 13
g3 13 g6 16 g5 23 g6 7 g
Estimado Manuel Máquez
Entonces el problema es otro, usted quiere una espacie de índice para conocer
la ubicación anterior y ordenarlos. Puede ser algo para nada optimizado pero
sencillo de duplicar.
El pseudocódigo es:
¿Cuántas filas hay? Digamos 6
Generar 1+i hasta 6, (una secuencia del 1 al