новичок в R, получаю ошибку в моей функции

#r #function

#r #функция

Вопрос:

 true_RA<-seq(-2,2 ,length.out = 13)  #true vector with -2<RA<2 in
# even intervals for 13 players 

true_RA

current_RA<-true_RA   #assign true_RA to the current ratings

ratings_overtime<-matrix(current_RA, nrow=13, ncol=10,000) #create a #matrix of 13 players
# and 10000 ratings 

p<-0.5825702

simulate_game<-function(i,j){
    old_RA_i<-current_RA[i] #assign the rate from 
#my current rating vector from vector 

    old_RA_j<-current_RA[j]
    win<rbinom(1,1,p)
if (win==1){current_RA_i<-old_RA_j 400}
else{current_RA_j<-old_RA_i 400}
}  
 return(c(current_RA_i,current_RA_j))
}
  

моя функция должна имитировать игру между игроками i и j с учетом их истинных базовых оценок rbinom(1,1,p) .
Я получаю сообщение об ошибке: объект ‘current_RA_i’ не найден.

Комментарии:

1. Как вы вызываете simulate_game функцию?

2. Ваша проблема решена?

Ответ №1:

У вас есть дополнительная закрытая фигурная скобка, поэтому функция заканчивается перед return оператором.

Поскольку переменные current_RA_i и current_RA_j определены внутри функции, они не являются глобальными по области видимости и, следовательно, не имеют значения после завершения функции.

Удаление } символа непосредственно перед вашим return утверждением должно устранить ошибку.