我正在研究正在研究贷款预测模型的R(Shiny)。我正在尝试计算特定方法的贷款金额,但它向我显示无限递归的错误,就像大多数帖子中提到的那样,即使我尝试了选项(表达式= 1000),但是我还在经历这个错误。
如果我把我的条件写成
MDBB_LA<- reactive({ input$MDBB*10 })
然后它没有给我任何错误,但如果我在此添加另一个条件
DSCR_Post<- reactive({
if (input$MU == "EMM" & (input$EMIM/12)+EMI()!=0) {
EBITDA_EMM()/((input$EMIM/12) + EMI())
} else if (input$MU == "EMM" & (input$EMIM/12)+EMI()==0) {
0
} else if (input$MU != "EMM" & (input$EMIM/12)+EMI()!=0 ){
EBITDA()/((input$EMIM/12) + EMI())
}else{
0
}})
MDBB_LA<- reactive({ if ((input$MU == "EMM" & DSCR_Post() >= 1) | (input$MU == "FAT1" & DSCR_Post() >= 0.8) | (input$MU == "FAT2" & DSCR_Post() >= 0.7) | (input$MU == "UAT" & DSCR_Post() >= 0.5)) {
input$MDBB*10*2
} else if ((input$MU == "EMM" & DSCR_Post() < 1) | (input$MU == "FAT1" & DSCR_Post() < 0.8 ) | (input$MU == "FAT2" & DSCR_Post() < 0.7) | (input$MU == "UAT" & DSCR_Post() < 0.5)){
input$MDBB*10
} else if ((input$MU == "MDBB1" ) | (input$MU == "MDBB2" ) | (input$MU == "MDBB3") | (input$MU == "MDBB4") ){
input$MDBB*10
} else {input$MDBB*10}
})
然后它显示我的错误:
警告:错误:评估嵌套太深:无限递归/选项(表达式=)?
任何可以帮助我的人,逻辑陈述出了什么问题。
答案 0 :(得分:0)
如果没有可重复的答案,这很难回答,但我知道解决这个问题的两种方法,无需调整代码或数据,就是增加表达式和ppsize。尝试超过1000,如1500或2000表达式(甚至20000)。当你打开你的控制台时,也尝试增加--max-ppsize。