Запуск функции в цикле - PullRequest
0 голосов
/ 25 ноября 2018

Новичок в R здесь и попытка поместить функцию в цикл for.Функция работает, и цикл for сработал, когда у меня была другая функция, но когда я сложил их вместе, я получаю сообщение об ошибке «отсутствует значение, в котором ИСТИНА / ЛОЖЬ требуется», когда мне раньше не было необходимости.У меня есть функция:

roll <- function(){

die<- 1:20 # 20 sided die

dice <- sample(die, 2, replace=TRUE) # Roll the die twice

sum(dice) # Add results

}

, и я пытаюсь запустить ее более 100 раз, помещая вывод в матрицу.Может быть, я просто не совсем уловил проблему с циклом for, но он у меня таков:

for(i in 1:nrolls) { #nrolls=100

roll <- sample(die)

if(roll[i] >= 25) {

G_than <- 1

} else{

L_than <- 1

}

}

Любая помощь будет признательна!

1 Ответ

0 голосов
/ 25 ноября 2018

Цикл For - это не то, что вам следует использовать в этом случае.

Просто используйте sapply, если вы хотите получить результат в векторе, подобном следующему:

roll <- function(x){
    die<- 1:20 # 20 sided die
    dice <- sample(die, 2, replace=TRUE) # Roll the die twice
    sum(dice) # Add results   
}
sapply(c(1:100), roll)

Обратите внимание, что sapplyпередаст аргумент функции, поэтому вам нужно изменить roll, чтобы получить этот ввод (и ничего не делать с ним)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...