Выравнивание по правому краю отформатированных фигур в столбце фрейма данных в блестящей выходной таблице
Рассмотрим следующий код R Shiny, который выводит таблицу значений:
library(shiny)
# Define UI ----
ui <- fluidPage(
fluidRow(column(12, numericInput("someVar1", "Var1", value = 30000)),
column(12, numericInput("someVar2", "Var2", value = 584000)),
tableOutput("myDataTable")
)
)
# Define server logic ----
server <- function(input, output) {
myDataTable <- reactive({
myDataTable <- data.frame("Var1" = formatC(c(input$someVar1, input$someVar2), format = "d", big.mark = ","))
return(myDataTable)
})
output$myDataTable <- renderTable(myDataTable())
}
# Run the app ----
shinyApp(ui = ui, server = server)
По-видимому, существует несколько способов форматирования данных в выходной таблице для получения значений через запятую с десятичными знаками или без них с использованием таких функций, как "formatC", "format", "prettyNum" и т. Д.
Тем не менее, все они, кажется, оправдывают результаты влево (после долгих экспериментов). Как я могу отформатировать числовые данные во (всех) столбцах фрейма данных, который выводится в приложение R Shiny с определенным форматированием, но при этом сохраняется выравнивание по правому краю?
Например, вместо:
1,000.5
34,000.00
... я хочу иметь:
1,000
34,000
1 ответ
Есть опция "выровнять" в renderTable()
функция, которую вы используете. Пожалуйста, смотрите документацию Rshiny: https://shiny.rstudio.com/reference/shiny/1.0.5/renderTable.html
output$myDataTable <- renderTable(myDataTable(), align="r")