【发布时间】:2017-02-10 16:40:33
【问题描述】:
我在下面的代码中得到一个missing value where TRUE/FALSE needed,我不知道为什么。
output$Strength<-renderText(
if(input$Motiv>=((input$Tempt-input$Rew)/(input$Tempt-input$Pun))){
"Strong!"
}else{
"Weak!"
}
)
Shiny App 的其余部分运行良好。
【问题讨论】:
-
你有没有试过调试代码来查看if之前
input的实际内容?您能否在问题中包含在 if 之前执行的print(input)的结果? -
当我拿出这个语句时,应用程序运行良好。这是相关的 UI 代码:
textOutput("Strength") -
是的,但该错误可能是由于
input不包含您尝试使用$访问的一个(或多个)列。您能否在renderText函数中包含调用print(input)的结果? -
对不起,我不明白你的意思是“你能在 renderText 函数中包含调用 print(input) 的结果吗?”
-
替换你发布的这个
output$Strength<-renderText(print(input))的代码。这将在控制台中打印变量input的内容。这个想法是检查它的内容。您的代码试图访问该变量内的 3 列:Tempt、Rew和Pun。也许其中一个是无效的,因此你的错误。
标签: r if-statement shiny