add <- function(x, y) {
return(x + y)
}
subtract <- function(x, y) {
return(x - y)
}
multiply <- function(x, y) {
return(x * y)
}
divide <- function(x, y) {
return(x / y)
}
factors <- function(x) {
if (choice == 5 | choice == 6) {
choice <- readline(prompt = "Enter the number: ")
}
else {
num1 = as.integer(readline(prompt = "Enter first number: "))
num2 = as.integer(readline(prompt = "Enter second number: "))
}
}
# take input from the user
print("Select operation.")
print("1.Add")
print("2.Subtract")
print("3.Multiply")
print("4.Divide")
print("5. Factors")
print("6. Prime")
choice = as.integer(readline(prompt="Enter choice[1/2/3/4/5/6]: "))
num1 = as.integer(readline(prompt="Enter first number: "))
num2 = as.integer(readline(prompt="Enter second number: "))
operator <- switch(choice,"+","-","*","/")
result <- switch(choice, add(num1, num2), subtract(num1, num2), multiply(num1, num2), divide(num1, num2), factor(i)
print(paste(num1, operator, num2, "=", result))
ERROR IN R CONSOLE -
> choice = as.integer(readline(prompt="Enter choice[1/2/3/45/6]: "))
Enter choice[1/2/3/45/6]: num1 = as.integer(readline(prompt="Enter first number: "))
Warning message:
NAs introduced by coercion
> num2 = as.integer(readline(prompt="Enter second number: "))
Enter second number: operator <- switch(choice,"+","-","*","/")
Warning message:
NAs introduced by coercion
> result <- switch(choice, add(num1, num2), subtract(num1, num2), multiply(num1, num2), divide(num1, num2))
> print(paste(num1, operator, num2, "=", result))
Error in paste(num1, operator, num2, "=", result) :
object 'num1' not found
Это ошибка, сгенерированная R. Похоже, что R не может обрабатывать целые числа в соответствии с моими командами. Я не могу понять, что с этим не так. Я сделал несколько изменений, но даже тогда ошибки кажутся такими же. Когда я запускаю код до тех пор, пока не будут получены входные данные от пользователя, он работает нормально, но входные данные не распознают num1 и num2, в нем говорится: «Предупреждающее сообщение: NAs, введенные путем принуждения», я не понимаю, так как я новичок. Пожалуйста, помогите мне. Спасибо