r - 如何将汇率添加到 Shiny 的应用程序中?

标签 r shiny

我正在尝试用 R 制作一个 Shiny 的货币兑换应用程序。这就是我到目前为止所做的:
ui.R

shinyUI(pageWithSidebar(
            headerPanel("European Exchange Rates"),
            sidebarPanel(
                        selectInput("variable", "Change:",
                                    list("EUR" = "European Euro",
                                         "ATS" = "Austrian Schilling",
                                         "DEM" = "German Mark",
                                         "ESP" = "Spanish Peseta",
                                         "FIM" = "Finnish Markka",
                                         "FRF" = "French Franc",
                                         "IEP" = "Irish Pound",
                                         "ITL" = "Italian Lira",
                                         "LUF" = "Luxembourgian Franc",
                                         "NLG" = "Dutch Guilder",
                                         "PTE" = "Portuguese escudo",
                                         "BEF" = "Belgian Franc",
                                         "CYP" = "Cypriot Pound",
                                         "EEK" = "Estonian Kroon",
                                         "GRD" = "Greek Drachma",
                                         "SIT" = "Slovenian Tolar")),
                        selectInput("variable2", "To:",
                                    list("EUR" = "European Euro",
                                         "ATS" = "Austrian Schilling",
                                         "DEM" = "German Mark",
                                         "ESP" = "Spanish Peseta",
                                         "FIM" = "Finnish Markka",
                                         "FRF" = "French Franc",
                                         "IEP" = "Irish Pound",
                                         "ITL" = "Italian Lira",
                                         "LUF" = "Luxembourgian Franc",
                                         "NLG" = "Dutch Guilder",
                                         "PTE" = "Portuguese escudo",
                                         "BEF" = "Belgian Franc",
                                         "CYP" = "Cypriot Pound",
                                         "EEK" = "Estonian Kroon",
                                         "GRD" = "Greek Drachma",
                                         "SIT" = "Slovenian Tolar"))
            ),
            mainPanel(
                        h3('Exchanged Currency'),
                        h4("From"),
                        verbatimTextOutput("oid1"),
                        h4("To"),
                        verbatimTextOutput("oid2"),
                        h4("Amount"),
                        verbatimTextOutput("amount")

            )
))

服务器.R

shinyServer(
            function(input, output) {
                        output$oid1 <- renderPrint({input$variable})
                        output$oid2 <- renderPrint({input$variable2})
                        output$amount <- renderPrint({input$amount})
            }
)

我假设我必须使用 numericInputui.R 中添加汇率,但我只是不知道如何设置货币组合。我从 R 数据集 euro.cross 中获取了汇率。我希望得到一些有关如何继续的指示。

最佳答案

您可以稍微调整 euro.cross 数据集,向其中添加 EUR 行和 EUR 列:

定义一些全局变量:

tempcross <- rbind.data.frame(euro, euro.cross)
tempcross$EUR <- c(1, 1/euro)
row.names(tempcross)[1] <- "EUR"
currencies <- list("EUR" = "European Euro",
     "ATS" = "Austrian Schilling",
     "DEM" = "German Mark",
     "ESP" = "Spanish Peseta",
     "FIM" = "Finnish Markka",
     "FRF" = "French Franc",
     "IEP" = "Irish Pound",
     "ITL" = "Italian Lira",
     "LUF" = "Luxembourgian Franc",
     "NLG" = "Dutch Guilder",
     "PTE" = "Portuguese escudo",
     "BEF" = "Belgian Franc",
     "CYP" = "Cypriot Pound",
     "EEK" = "Estonian Kroon",
     "GRD" = "Greek Drachma",
     "SIT" = "Slovenian Tolar")

运行应用程序

runApp(
  list(ui = pageWithSidebar(
    headerPanel("European Exchange Rates"),
    sidebarPanel(
      selectInput("variable", "Change:", currencies),
      selectInput("variable2", "To:", currencies)
    ),
    mainPanel(
      h3('Exchanged Currency'),
      h4("From"),
      verbatimTextOutput("oid1"),
      h4("To"),
      verbatimTextOutput("oid2"),
      h4("Amount"),
      verbatimTextOutput("amount")

    )
  )

  , server = function(input, output) {
    output$oid1 <- renderPrint({input$variable})
    output$oid2 <- renderPrint({input$variable2})
    output$amount <- renderPrint({
      curr1 <- names(currencies[currencies %in% input$variable])
      curr2 <- names(currencies[currencies %in% input$variable2])
      tempcross[curr1, curr2]
    })
  }
  )
)

enter image description here

关于r - 如何将汇率添加到 Shiny 的应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333079/

相关文章:

r - 多页,每页有几个 ggplot2 图表和表格,来自多个数据框,每个页面都是一个共同因素的水平

r - 如何根据另一个相似(不等价)矩阵对矩阵的行进行排序?

r - 您可以缩写列表名称吗?为什么?

r - Shiny 的模块:如何使用 DT::datatables 访问 selected_rows?

shiny - Plotly 绘图未在 Shiny 的服务器上渲染

r - Shiny :仅在文件上传后显示按钮

r - 在 Shiny 的表格中嵌入链接

r - 有没有办法加速格式化表格从 R 到 excel 的写入?

r - 是否有 R 函数用于将列表中的向量修剪为最小向量长度?

Rshinyhelper 因 htmlOutput 失败