n<-NULL
acr<-NULL
while((is.numeric(n)==F) & (acr<0 ¦acr>1)){
print("enter a positive integer and the average cancellation rate you want")
try(n<-scan(what=integer(),nmax=1), silent=TRUE);
try(acr<-scan(what=double(),nmax=1), silent=TRUE)
}
Я бы хотел, чтобы пользователи моей программы вводили положительное целое число, которое я храню в «n», а второе
запись, которую я храню в «acr», является вероятностью, поэтому она лежит между 0 и 1.
(Я не хочу, чтобы это было точно 0 или 1, хотя это может быть в соответствии с теорией вероятности).
Поэтому я хочу, чтобы пользователь продолжал делать запись, пока он не сможет ввести положительное целое число для «n» и значение вероятности между 0 и 1 для «acr» (используя операторы AND, OR) *
Однако у меня проблема с оператором while / циклом. Я перепробовал все другие возможности, такие как приведенная ниже, но она все еще не работает.
while(is.numeric(n)==F & acr<0 ¦acr>1)
СНОВА: вопрос 2
Я думаю, что есть проблема с what=double()
также в функции scan
.
Я знаю, что, например, 0.5 - это двойной тип данных в других языках программирования, но
Я не могу понять это в R (я не знаю, как это называется в R).
В чем разница между integer()
и double()
в R? (Я не знаком с двойным)
Я был бы очень признателен всем, кто мог прийти мне на помощь.
большое спасибо всем.
Исаак Овусу