Ich versuche, einen Datenrahmen zu unterteilen, wo ich mehrere Datenrahmen basierend auf mehreren Spaltenwerte erhalten. Hier ist mein BeispielR Untergliederung eines Datenrahmens in mehrere Datenrahmen basierend auf mehreren Spaltenwerten
>df
v1 v2 v3 v4 v5
A Z 1 10 12
D Y 10 12 8
E X 2 12 15
A Z 1 10 12
E X 2 14 16
Die erwartete Ausgabe ist so etwas wie diese, wo ich diesen Datenrahmen am Aufspalten in Frames mehr Daten basierend auf Spalte v1
und v2
>df1
v3 v4 v5
1 10 12
1 10 12
>df2
v3 v4 v5
10 12 8
>df3
v3 v4 v5
2 12 15
2 14 16
ich geschrieben habe einen Code, der funktioniert gerade jetzt, aber denke nicht, dass das der beste Weg ist, es zu tun. Es muss einen besseren Weg geben, es zu tun. Angenommen tab
ist der data.frame mit den Anfangsdaten. Hier ist mein Code:
v1Factors<-levels(factor(tab$v1))
v2Factors<-levels(factor(tab$v2))
for(i in 1:length(v1Factors)){
for(j in 1:length(v2Factors)){
subsetTab<-subset(tab, v1==v1Factors[i] & v2==v2Factors[j], select=c("v3", "v4", "v5"))
print(subsetTab)
}
}
Kann jemand vorschlagen, eine bessere Methode, um das Obige zu tun?
Möchten Sie diese Datenrahmen wiederverwenden oder sie nur gruppiert nach diesen Spalten drucken? – Thilo
Ich möchte sie wiederverwenden .... möchte Diagramme auf diesen Datenrahmen plotten. –