我正在尝试用 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})
}
)
我假设我必须使用 numericInput
在 ui.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]
})
}
)
)
关于r - 如何将汇率添加到 Shiny 的应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24333079/