我有一个闪亮的应用程序,并具有数字输入和我像空的UI启动它的价值,我想评估如果该值不为空,然后做一些事情,但它不工作
我这是怎么开始的UI
numericInput("Max_Risk", label="Max Risk", value="")
当按钮被按下
我将其值赋给变量
max_risk = input$Max_Risk
然后,我有一个,如果条件评估max_risk的价值
if (max_risk != ""){
dat2 <- dplyr::filter(dat2, coe_var < max_risk)
}
当有输入的值,可以说数字86,它的工作和进入的声明,并与代码继续,但是当在输入没有价值,即留空我得到这个错误
Warning: Error in if: missing value where TRUE/FALSE needed
我需要的是,如果输入为空,那么请不要if语句做并继续代码,任何帮助谢谢
Juan
也许这是在开始NA值。尝试:
if (!is.na(max_risk) && max_risk != ""){
dat2 <- dplyr::filter(dat2, coe_var < max_risk)
}
警告:错误的,如果:缺失值,其中TRUE / FALSE,通常需要意味着您正试图评估变量,它是NA
由“空”假设你的意思的对象还没有被创建,你可以使用exists
像这样:
if (exists("max_risk") && max_risk != ""){
dat2 <- dplyr::filter(dat2, coe_var < max_risk)
}
如果max_risk
是一个对象,然后exists("max_risk")
将返回TRUE
。所述&&
首先评估左侧表达和只在左被发现是TRUE
计算合适的表情。因此,如果一个对象不存在,那么max_risk != ""
将不进行评估。