Diese Frage kam heute in der Mailingliste von manipulatr.Anwenden einer Funktion auf eine Distanzmatrix in R
http://groups.google.com/group/manipulatr/browse_thread/thread/fbab76945f7cba3f
Ich umformuliere.
Bei einer Abstandsmatrix (berechnet mit dist
) eine Funktion auf die Zeilen der Abstandsmatrix anwenden.
Code:
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)
Das Problem ist, dass die Funktion von Zeile wenden Sie die gesamte Matrix (statt nur den unteren Dreiecksteil zu speichern, haben also es zu viel Speicher für große Matrizen verwendet es.. in meinem Computer nicht für Matrizen der Dimensionen ~ 10000.
Irgendwelche Ideen?
Gutes Beispiel dafür, wie R schnell sein kann: 20x Verbesserung! –