Вы можете столкнуться с комбинаторным взрывом.Это моделирует выбор 3 комбинаций ЭЭ из набора 20 с зарплатой в среднем 60 и с.д. 20. Это показывает, что из перечисления 1140 комбинаций вы найдете только 263 с суммой зарплат менее 150.
> sum( apply( combn(1:20,3) , 2, function(x) sum(salry[x, "sals"]) < 150))
[1] 200
> set.seed(123)
> salry <- data.frame(EEnams = sapply(1:20 ,
function(x){paste(sample(letters[1:20], 6) ,
collapse="")}), sals = rnorm(20, 60, 20))
> head(salry)
EEnams sals
1 fohpqa 67.59279
2 kqjhpg 49.95353
3 nkbpda 53.33585
4 gsqlko 39.62849
5 ntjkec 38.56418
6 trmnah 66.07057
> sum( apply( combn(1:NROW(salry), 3) , 2, function(x) sum(salry[x, "sals"]) < 150))
[1] 263
Если бы у вас было 1000 EE, вы бы получили:
> choose(1000, 3) # Combination possibilities
# [1] 166,167,000 Commas added to output