У меня есть вектор длины 14, и я хотел бы проверить в наборах 5 таким образом:R Код: Эффективность Выпуск
compare = c(rep(1,4),rep(0,10)) # Vector
g.test = matrix(0,5,10)
for (i in 5:14){
g.test[,i-4] = head(tail(compare,i),5)
}
if (sum(colSums(g.test) >= 3 & colSums(g.test) < 5) > 0){yield = T}
Я бегу через вектор compare[c(10:14)]
в compare[c(9:13)]
к ... до compare[c(1:5)]
и проверяет, есть ли у него sum >= 3
и < 5
.
НО, сравните только один такой вектор; У меня есть 100 000 таких векторов разных перестановок 1 и 0, но вся длина 14. Запустив мой код, я потратил 100 секунд на мой компьютер. Есть лучший способ сделать это?
- Я на самом деле выполняю симуляционный тест для игры в покер в Техасе. Эта часть кода используется для проверки неполных стрижек.
То есть просто сладкая =) THx –