[R-es] Tomar nombres desde la matríz

Proyecto R-UCA r-uc@ @end|ng |rom uc@@e@
Sab Nov 23 12:03:04 CET 2024


Buenas, Javier:

Entiendo que lo que quieres es una salida similar a lo siguiente:
Fila: 4 Animal: sire 1
Fila: 5 Animal: sire 2

m <- matrix(c(1,0,1,0,0, 0,1,0,0,1, 0,0,0,1,0), ncol = 3) 
colnames(m) <- c('sire1', 'sire2', 'sire3')
for(r in 1:nrow(m)) {
    cat("Fila:", r, "Animal:", colnames(m)[which(m[r,] == 1)], "\n")
    }

Fila: 1 Animal: sire1 
Fila: 2 Animal: sire2 
Fila: 3 Animal: sire1 
Fila: 4 Animal: sire3 
Fila: 5 Animal: sire2 

También se podría vectorizar usando alguna de las funciones apply.

Un saludo.

El vie, 22-11-2024 a las 20:15 -0300, Javier Marcuzzi escribió:
> Estimados
> 
> Estoy probando una alternativa, la cual no tiene ranef 
> 
> Pero puedo saber cuáles son desde la siguiente matriz, 4 , 5, 6, 7, 8 son hijos de sire1, sire3 y sire4.
> 
> Obtengo los resultados, pero ¿como puedo tomar los nombres de filas y columnas, sire1, sire2, sire3, 4, 5, 6, 7, y 8, de forma tal de
> hacer legible el resultado para cada animal? Lógicamente, un listado de números sin decir que animal es, convengamos que no se entiende
> mucho.
> 
> > diseño_matriz_
> $sire
> 5 x 3 sparse Matrix of class "dgCMatrix"
>   sire1 sire3 sire4
> 4     1     .     .
> 5     .     1     .
> 6     1     .     .
> 7     .     .     1
> 8     .     1     .
> 
> Gracias
> _______________________________________________
> R-help-es mailing list
> R-help-es using r-project.org
> https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help-es__;!!D9dNQwwGXtA!TKVz_mf3AAKs6ZgIeoAKzkzQj4-3qz0Kpi8kapMdtMg8D7NzVecwa-cutBPtAGJcacTHOZnByrnqEqkLwESShxw$
>  



Más información sobre la lista de distribución R-help-es