#r
Вопрос:
Мне нужна помощь, моя функция работает неправильно, когда я пытаюсь подвести какую — либо сумму с результатами. у меня много ценностей NA, и я не знаю почему.
Craps <- function(jogadas){
for (i in 1:jogadas){
comeOut <- sample(1:6,1) sample(1:6,1)
if(comeOut %in% c(2,3,12)){
result <- F #False
}else if(comeOut %in% c(7,11)){
}
else{
dados <- sample(1:6,1) sample(1:6,1)
if(dados == 7){
result <- F
}else {
result <- T
}
while (!(dados %in% c(7,comeOut))){
dados <- sample(1:6,1) sample(1:6,1)
}
if(dados == 7)
result <- F
else result <- T
}
print(result)
#probability
prob<-NULL
prob[i] <- result
prob2<-sum(prob)/jogadas
print(prob2)
}
}
Craps(1000)
Комментарии:
1. Я полагаю, что вы отсутствуете
result <- T
в разделе, следующем за строкой}else if(comeOut %in% c(7,11)){
2. Я случайно удалил этот фрагмент
Ответ №1:
Вы помещаете prob=NULL
его в свой цикл, чтобы он становился нулевым на каждой итерации цикла, просто создайте prob
его перед циклом. Также вы забыли одну строчку, как заметили в комментариях :
Craps <- function(jogadas){
prob<-NULL
for (i in 1:jogadas){
comeOut <- sample(1:6,1) sample(1:6,1)
if(comeOut %in% c(2,3,12)){
result <- F #False
}else if(comeOut %in% c(7,11)){
result <- T
}
else{
dados <- sample(1:6,1) sample(1:6,1)
if(dados == 7){
result <- F
}else {
result <- T
}
while (!(dados %in% c(7,comeOut))){
dados <- sample(1:6,1) sample(1:6,1)
}
if(dados == 7)
result <- F
else result <- T
}
print(result)
#probability
prob[i] <- result
prob2<-sum(prob)/jogadas
print(prob2)
}
}