Ich habe einen Datenrahmen, der Werte in 4 Spalten enthält:
Zum Beispiel: ID
, price
, click count
,rating
Was ich tun möchte, ist, diesen Datenrahmen in N verschiedene Gruppen "aufzuteilen", wobei jede Gruppe die gleiche Anzahl von Zeilen mit der gleichen Verteilung von Preis-, Klickzahl- und Bewertungsattributen hat.
Jeder Rat wird sehr geschätzt, da ich nicht die geringste Ahnung habe, wie ich das angehen soll!
r
distributions
Rajpal Kulhari
quelle
quelle
Antworten:
Wenn ich die Frage richtig verstehe, erhalten Sie das, was Sie wollen. Angenommen, Ihr Datenrahmen wird aufgerufen
df
und Sie haben ihnN
definiert, können Sie Folgendes tun:Dies gibt eine Liste von Datenrahmen zurück, aus denen jeder Datenrahmen aus zufällig ausgewählten Zeilen besteht
df
. Standardmäßigsample()
wird jeder Gruppe die gleiche Wahrscheinlichkeit zugewiesen.quelle
Dies ist eine sehr späte Antwort, aber ich habe diese Seite gefunden, als ich gegoogelt habe, ob das angegebene Problem jemals irgendwo diskutiert wurde. Vielleicht hilft meine Antwort, wenn jemand diese Seite von nun an findet.
Ich habe ein R-Paket geschrieben, das genau das tut, wonach die Frage gestellt wurde: Es benötigt a
data.frame
und erstellt N verschiedene Gruppen, während versucht wird, die Unterschiede zwischen Gruppen in einem oder mehreren Kriterien zu minimieren. Es wird eine einfache Methode verwendet, die auf wiederholter zufälliger Zuweisung basiert. Dies ist auch die vorgeschlagene Methode in der genehmigten Antwort.Dies ist der Link zum Paket minDiff :
Um das angegebene Problem zu lösen, können Sie Folgendes verwenden:
Das
repetitions
Argument bestimmt, wie oft Sie zufällig verschiedene Gruppen erstellen. Die beste Zuordnung - die mit minimalen Unterschieden zwischen den Gruppen - wird zurückgegeben.quelle
Obwohl die Antwort von Alex A für jede Gruppe die gleiche Wahrscheinlichkeit ergibt, entspricht sie nicht der Anforderung der Frage, dass die Gruppen die gleiche Anzahl von Zeilen haben sollen. In R:
quelle
Dies kann durch Verschachteln mit tidyr / dplyr gelöst werden
quelle