Hier ein Beispiel für meine data.frame und nehmen wir an, dass die date
col Tage darstellt:Monte-Carlo-Simulation - Erstellen 100 data.frames mit Reihen gruppiert zufällig mit einer festen Anzahl von aufeinander folgenden Tagen
df = read.table(text = 'ID date
a 1
a 2
a 3
a 4
a 7
a 12', header = TRUE)
Also, meine Tage hier reichen von 1 bis 12 und ich möchte 100 data.frames schaffen, wo für jedes die date
(und ID
) Spalte zufällig durch 3 folgende Tage gruppiert wird.
z.B.
df1
ID date group
a 1 1 #group 1 = 1, 2, 3
a 2 1
a 3 1
a 4 2 # group 2 = 4, 5, 6
a 7 3 # group 3 = 7, 8, 9
a 12 4 # group 4 = 10, 11, 12
DF2
ID date group
a 1 4
a 2 1 #group 1 = 2, 3, 4
a 3 1
a 4 1
a 7 2 #group 2 = 5, 6, 7 --- group 3 = 8, 9, 10
a 12 4 # group 4 = 11, 12 and start again from the beginning 1
DF3
ID date group
a 1 1
a 2 1
a 3 2 #group 2 = 3, 4, 5
a 4 2
a 7 3 #group 3 = 6, 7, 8 -- group 4 = 9, 10, 11
a 12 1 #group 1 = 12, 1, 2
etc ...
beachte, dass die group
col Gruppen die Reihen von 3 durch nachträgliches d Berücksichtigung ays, die nicht unbedingt im data.frame erscheinen und die Zufälligkeit des ganzen Tricks ist der Starttag der Gruppe 1.
Haben Sie einen Vorschlag?
Hallo und danke. die Sache ist, dass meine Gruppen nachfolgende Stücke von 3 aufeinander folgenden Daten sein müssen – aaaaa
Ich versuche, Ihr Beispiel zu verstehen, ist die nachfolgende Stichprobe von Daten abhängig von der Datumsspalte? Oder hängt es von der Gruppierungsvariablen ab, cq, wenn es vier eindeutige "Gruppen" gibt, dann haben Sie 12 aufeinander folgende Daten. – timfaber
danke, ja! Die nachfolgende Stichprobe von Daten hängt von der Datumsspalte ab. zB df1: Gruppe 1 = Daten 1, 2, 3; etc ... Ich muss nur mein data.frame um 3 aufeinander folgende Daten 100 mal basierend auf dem zufälligen Start der Gruppe 1 – aaaaa