Czy istnieje sposób, aby można to poprawić, lub zrobić prostszą?sposób obliczania grupy według współczynnika
means.by<-function(data,INDEX){
b<-by(data,INDEX,function(d)apply(d,2,mean))
return(structure(
t(matrix(unlist(b),nrow=length(b[[1]]))),
dimnames=list(names(b),col.names=names(b[[1]]))
))
}
Pomysł jest taki sam jak oświadczenie SAS MEANS BY. Funkcja "oznacza.by" pobiera element data.frame i zmienną indeksującą i oblicza średnią w kolumnach elementu data.frame dla każdego zestawu wierszy odpowiadających unikatowym wartościom INDEX i zwraca nową ramkę danych za pomocą wiersza podaje unikalne wartości INDEKSU.
Jestem pewien, że musi istnieć lepszy sposób robienia tego w R, ale nie mogłem myśleć o niczym.
Widziałem przykład, że pisał na swojej stronie. plyr został zaprojektowany dokładnie dla tej funkcji. Zaktualizowałem mój przykład, aby dopasować dane wyjściowe do Twojej witryny. –