首页 > 解决方案 > R语言用户输入if条件

问题描述

我正在从用户那里获取 R-lang 中 num 变量的输入,并使用 if 条件检查该数字是否大于某个值,但它一直给出以下错误

num = as.integer(readline(prompt="Enter a number: "))
flag = 0
# prime numbers are greater than 1
if(num > 1) {
# check for factors
    flag = 1
 }

输入一个数字:

if (num > 1) { 中的错误:需要 TRUE/FALSE 的缺失值

执行停止

请帮忙谢谢

这是我的代码

标签: r

解决方案


如果你一次运行整个代码块,你会得到这个错误:

> num = as.integer(readline(prompt="Enter a number: "))
Enter a number: flag = 0
Warning message:
NAs introduced by coercion 
> # prime numbers are greater than 1
> if(num > 1) {
+   # check for factors
+   flag = 1
+ }
Error in if (num > 1) { : missing value where TRUE/FALSE needed
> 

您需要先输入数字,然后运行后续行

> num = as.integer(readline(prompt="Enter a number: "))
Enter a number: 5

输入数字后,您可以继续进行。

> flag = 0
> # prime numbers are greater than 1
> if(num > 1) {
+     # check for factors
+     flag = 1
+ }
> print(flag)
[1] 1
>

阅读此线程以获得进一步说明: 使 readline 等待 R 中的输入


推荐阅读