In R habe ich einen Datenrahmen, der eine Klassenbezeichnung C (einen Faktor) und zwei Messungen M1 und M2 umfasst . Wie berechne ich die Korrelation zwischen M1 und M2 in jeder Klasse?
Idealerweise würde ich einen Datenrahmen mit einer Zeile für jede Klasse und zwei Spalten zurückerhalten: die Klassenbezeichnung C und die Korrelation.
r
correlation
NPE
quelle
quelle
plyr
Paket, nicht wahr? :)Wenn Sie dazu neigen, Funktionen im Basispaket zu verwenden, können Sie die
by
Funktion verwenden und dann die Daten neu zusammenstellen:quelle
by
, konnte aber nicht herausfinden, wie das Ergebnis in einen Datenrahmen umgewandelt werden kann.Ein weiteres Beispiel mit Basispaketen und Tals Beispieldaten:
quelle
plyr
tut, aber es gibt Ihnen eine feinere Kontrolle, obwohl es bei weitem nicht so sauber ist. Meine Meinung würde sich ändern, wenn eine Lösung ein besseres Zeit- / Speicherprofil hätte. Ich habe sie aber nicht verglichen.Die Verwendung von data.table ist kürzer als dplyr
quelle
Hier ist eine ähnliche Methode, mit der Sie eine Tabelle mit den Werten für n und p für jede Korrelation erhalten (der Einfachheit halber auf 3 Dezimalstellen gerundet):
quelle
Hier ist eine modernere Lösung unter Verwendung des
dplyr
Pakets (das zum Zeitpunkt der Beantwortung der Frage noch nicht vorhanden war):Konstruieren Sie die Eingabe:
Berechnen Sie die Korrelationen:
Die Ausgabe:
quelle