Помимо моих общих проблем с вашим вопросом (пожалуйста, будьте более конкретны относительно вашей реальной проблемы), ваши циклы for имеют неправильный синтаксис. Они должны выглядеть следующим образом:
for (val in sequence)
{
statement
}
Применительно к вашей функции они должны выглядеть следующим образом:
for (val in c(1:4))
{
probability + (hunter,goose+val,num+1)
}
for (val in c(5:6))
{
probability + (hunter,goose+val,num+1)
print probability
}
Однако они не только синтаксически неверны, но и их содержание кажется неправильным.
Например, во втором цикле for, гусь шагает вперед, хотя это должен быть охотник. Также это не два цикла for, но это должен быть оператор if, подобный следующему:
if (val <= 4) {
probability + (hunter,goose+val,num+1)
}
else {
probability + (hunter+val,goose,num+1)
}
Наконец, вся структура вашей функции кажется странной (и имеет ошибочно названные переменные). Не должно ли быть что-то вроде этого:
dice_roll <- function(hunter,goose, win){
# While to check for winning condition
while(win != 1){
dice_roll = sample(1:6, 1) # simulate dice roll
# If statement depending on dice roll, increasing value of hunter or goose by dice roll
# Change win condition
If(hunter >= goose){
win <- 1
}
}
dice_roll(1,7,0)