Esta pregunta ha llegado hoy en la lista de distribución de manipulatr.Aplicar una función a una matriz de distancia en R
http://groups.google.com/group/manipulatr/browse_thread/thread/fbab76945f7cba3f
Estoy reformulando.
Dada una matriz de distancia (calculada con dist
) aplique una función a las filas de la matriz de distancias.
Código:
library(plyr)
N <- 100
a <- data.frame(b=1:N,c=runif(N))
d <- dist(a,diag=T,upper=T)
sumd <- adply(as.matrix(d),1,sum)
El problema es que para aplicar la función por la fila que tiene que almacenar toda la matriz (en lugar de sólo la parte triangular inferior por lo que utiliza demasiada memoria para grandes matrices Es.. fracasa en mi equipo para matrices de dimensiones ~ 10000.
¿Alguna idea?
Buen ejemplo de cómo R puede ser rápido: ¡mejora 20 veces! –