Ich habe über einen Tag lang versucht, etwas zu erreichen, das sehr einfach zu sein scheint. Ich muss 300 'zufällige' Sequenzen erstellen, in denen die Zahlen 1,2,3 und 4 alle genau 12 Mal vorkommen, aber die gleiche Zahl wird nie zweimal 'hintereinander' / nacheinander verwendet.
Meine besten Versuche (ich denke) waren:
Lassen Sie R 48 Elemente ersatzlos testen, testen Sie, ob es mit rle aufeinanderfolgende Werte gibt, und verwenden Sie dann nur die Sequenzen, die keine aufeinanderfolgenden Werte enthalten. Problem: Es gibt fast keine zufälligen Sequenzen, die dieses Kriterium erfüllen, daher dauert es ewig.
Lassen Sie R Sequenzen ohne aufeinanderfolgende Werte erstellen (siehe Code).
pop<-rep(1:4,12)
y=c()
while(length(y)!=48)
{
y= c(y,sample(pop,48-length(y),replace=F))
y=y[!c(FALSE, diff(y) == 0)]
}
Problem: Dadurch werden Sequenzen mit unterschiedlichen Nummern für jeden Wert erstellt. Ich habe dann versucht, nur diese Sequenzen mit genau 12 von jedem Wert zu verwenden, aber das brachte mich nur zu Problem 1 zurück: dauert ewig.
Es muss einen einfachen Weg geben, das zu tun, oder? Jede Hilfe wird sehr geschätzt!