He visto esta pregunta varias veces en la lista de correo de R, pero todavía no he podido encontrar una respuesta satisfactoria.Equivalente a rowMeans() para min()
Supongamos que una matriz m
m <- matrix(rnorm(10000000), ncol=10)
puedo conseguir la media de cada fila por:
system.time(rowMeans(m))
user system elapsed
0.100 0.000 0.097
Pero obtener el valor mínimo de cada fila por
system.time(apply(m,1,min))
user system elapsed
16.157 0.400 17.029
toma más de 100 veces más larga, ¿hay alguna manera de acelerar esto?
Me gusta el uso de 'do.call'.Pensé en 'pmin', pero no pensé en una forma astuta de incorporarlo. Todos los chicos geniales parecen ser capaces de usar 'do.call' para lograr sus objetivos ... Tengo que leer un poco sobre esto. – Chase
'do.call' es útil cuando se quiere poder crear argumentos de funciones dinámicamente (generalmente cuando se desconoce el número de argumentos pasados por' ... '). –
¡Buena respuesta, gracias! con pmin.int() fue incluso un poco más rápido – johannes