Как я могу настроить свои R-коды для достижения этого конкретного результата? - PullRequest
0 голосов
/ 19 января 2019

Я использую R в RStudio, и у меня есть следующие существующие R коды, которые дают мне 3 random числа в качестве выхода (2 odd и 1 even).

foo <- list(
c(1,2,3,5,6,7,8,9), 
c(11,13,15,16,17,19), 
c(21,25,28,29), 
c(31,33,34,35,37,38,40) 
)

 names(foo) <- c(2, 1, 0, 0)
 is.odd <- function(x) x %% 2 != 0

 countOdds<-function(dt){ sum(sapply(dt, is.odd)) }

while(T){
list2<- unlist(sapply(seq_along(foo), function(x) sample(foo[[x]], names(foo[x]))))
 if(countOdds(list2)==2)
break
}

sort(list2)

В настоящее время в моих существующих кодах я могу указать следующее:

  1. список номеров для каждых 4 списков, показанных выше
  2. количество предметов, которые нужно взять из каждого списка
  3. количество нужных мне комбинаций ODD / EVEN.

Я хочу добавить следующие дополнительные условия в мои существующие R коды:

  1. быть в состоянии указать значение SUM из 3 чисел, которые должны быть выведены (то есть укажите, скажем, 24, а 3 случайных числа должны быть равны 24)
  2. выведите всю комбинацию из 3 чисел, которые будут СУММЫ до 24 (или любое другое число, которое я могу ввести). В настоящее время он дает мне только 1 вывод из 3 случайных чисел.

Можно ли добавить эти 2 условия в мои существующие коды?

...