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 en r-project.org
>
https://urldefense.com/v3/__https://stat.ethz.ch/mailman/listinfo/r-help-es__;!!D9dNQwwGXtA!TKVz_mf3AAKs6ZgIeoAKzkzQj4-3qz0Kpi8kapMdtMg8D7NzVecwa-cutBPtAGJcacTHOZnByrnqEqkLwESShxw$
>