Я потратил больше суток, пытаясь выполнить то, что кажется очень простым делом. Мне нужно создать 300 «случайных» последовательностей, в которых числа 1, 2, 3 и 4 появляются ровно 12 раз, но одно и то же число никогда не используется дважды «подряд» / последовательно.
Мой лучшийпопытки (я предполагаю) были:
иметь R выборку 48 элементов без замены, проверить, есть ли последовательные значения с rle, затем использовать только последовательности, которые не содержат последовательных значений. Проблема: почти нет случайных последовательностей, которые соответствуют этому критерию, поэтому это занимает вечность.
имеют R, создающие последовательности без последовательных значений (см. Код).
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)]
}
Проблема: это создает последовательности с различными номерами каждого значения. Затем я попытался использовать только те последовательности, каждая из которых имела ровно 12 значений, но это только вернуло меня к проблеме 1: занимает вечно.
Должен быть какой-то простой способ сделать это, верно? Любая помощь с благодарностью!