我有一个灵巧的应用程序,带有数字输入,并且像空一样在UI中初始化它的值,我试图评估该值是否不为空,然后做点什么,但不起作用
这就是我在用户界面上启动的方式
numericInput("Max_Risk", label="Max Risk", value="")
按下按钮时
我将其值分配给变量
max_risk = input$Max_Risk
然后我有一个if条件,该条件评估max_risk的值
if (max_risk != ""){
dat2 <- dplyr::filter(dat2, coe_var < max_risk)
}
当输入中有值时,可以说数字86,它确实起作用并进入statement并继续执行代码,但是当输入中没有值时(即留空),我得到了错误
Warning: Error in if: missing value where TRUE/FALSE needed
我需要如果输入留为空白,则不要执行if语句并继续执行代码,谢谢您的帮助
答案 0 :(得分:1)
胡安
也许一开始就是NA值。试试:
"Action": "iam:CreateUser"
警告:if错误:缺少需要TRUE / FALSE的值通常意味着您正在尝试评估一个不适用的变量
答案 1 :(得分:0)
假设“空”表示尚未创建对象,则可以像这样使用exists
:
if (exists("max_risk") && max_risk != ""){
dat2 <- dplyr::filter(dat2, coe_var < max_risk)
}
如果max_risk
是对象,则exists("max_risk")
将返回TRUE
。 &&
首先评估左表达式,如果发现左边为TRUE
,则仅评估右表达式。因此,如果对象不存在,那么max_risk != ""
将不会被评估。