在R Shiny应用程序中保存用户输入

时间:2017-03-19 20:25:56

标签: r shiny shiny-server shinydashboard

所以我写了一个R Shiny应用程序来分析学生贷款信息,并建议最好的方式来支付他们。很多人,包括我自己,都有多个不同利率的学生贷款,所以我根据用户说他们有多少学生贷款来制作一些conditionalPanel。每个conditionalPanel都有numericInput秒的贷款本金,利率以及用户每月要支付的金额。这是用户输入所有这些数据一次的过程,不幸的是,如果用户离开页面或刷新它,它们都会被清除。

如何保存会话数据,以便用户不必每次都在numericInput重新输入信息?我觉得答案与访问session数据有关,但我并不确定。任何帮助表示赞赏。谢谢!

这是UI界面的一个例子:

# Define UI for application
ui <- shinyUI(fluidPage(

# Application title
titlePanel("Student Loan Calculator"),

# Sidebar with nested sidebar panels containing numeric inputs to enter info about each loan.
sidebarLayout(

    sidebarPanel(width = '3',
             numericInput("numStuLoan",
                          "How many student loans do you have?",
                          min = 0,
                          max = 5,
                          value = 1,
                          step = 1),
             HTML("<br>"),
             #### #### #### #### ####
             #### Loan 1 ## #### ####
             #### #### #### #### ####
             conditionalPanel(condition="input.numStuLoan > 0",
                              HTML("<div align = 'left'><font size = '4'><b>1st Loan</b></font></div>"),
                              numericInput("loanPrin1",
                                           "Principal",
                                           min = 0,
                                           max = Inf,
                                           value = 10000,
                                           step = 50),

                              numericInput("loanInt1",
                                           "Interest Rate",
                                           min = 0.00,
                                           max = 20.00,
                                           value = 5.29,
                                           step = 0.1),

                              numericInput("monthPay1",
                                           "Monthly Payment",
                                           min = 0.00,
                                           max = Inf,
                                           value = 250,
                                           step = 1)),
             HTML("<br>"),
             ...
             ...
             ...
             {this code basically repeats for each loan}

0 个答案:

没有答案