Tengo una matriz y una función que toma un vector y devuelve una matriz. Quiero aplicar la función a todas las filas de la matriz y reunir todos los resultados. Por ejemploFuerza aplicar para devolver una lista
mat <- matrix(1:6, ncol=2)
f <- function (x) cbind(1:sum(x), sum(x):1)
do.call(rbind, apply(mat, 1, f))
Esto funciona perfectamente ya que las matrices devueltas tienen diferentes números de filas, de modo que apply devuelve una lista. Pero si sucede que tiene el mismo número de filas esto ya no funciona:
mat <- f(3)
apply(mat, 1, f)
aplican devuelve una matriz de la que no puedo conseguir el resultado que quiero. ¿Es posible forzar la aplicación para devolver una lista o hay otra solución?
Esto funciona. No sabía sobre la función de división. ¡Gracias! – mosaic
Esto tiene problemas cuando tiene que manejar matrices vacías porque seq (0) da c (1,0). – meow