首页 > 解决方案 > R 显示错误 - “构建基本计算器”

问题描述

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 它说 - “警告消息:强制引入的 NA”我不明白,因为我是初学者。请帮帮我。谢谢

标签: r

解决方案


推荐阅读