2017-10-12 54 views
0

如何在renderTable的行名稱中添加下標?在下面的例子中,我需要下標A_1A_2如何在renderTable(Shiny)的行名稱中添加下標?

library(shiny) 

ui <- fluidPage(tableOutput("table")) 

server <- function(input, output) { 
    output$table <- renderTable({data <- data.frame(c(1, 2), 
             row.names = c("A_1", "A_2"))}, rownames = T)} 

shinyApp(ui = ui, server = server) 

回答

1

您可以使用DT包作爲datatable的。您需要使用帶有escape = FALSE的html標籤。看看修改後的代碼如下:

library(shiny) 
    library(DT) 
    ui <- fluidPage(dataTableOutput("table")) 

    server <- function(input, output) { 
    output$table <- renderDataTable({ 
     data <- datatable(data.frame(c(1, 2), row.names = c("A<sub>1</sub>", "A<sub>2</sub>")), rownames = T, escape = FALSE) 
     }) 
    } 

    shinyApp(ui = ui, server = server) 

你得到一個表格,它看起來像這樣:

enter image description here

編輯:

您可以renderTable通過添加標使用帶有sanitize.text.function = function(x) x的html標籤。該代碼將如圖6-8所示:

library(shiny) 

    ui <- fluidPage(tableOutput("table")) 

    server <- function(input, output) { 
     output$table <- renderTable({data <- data.frame(c(1, 2), 
                 row.names = c("A<sub>1</sub>", "A<sub>1</sub>"))}, rownames = T, sanitize.text.function = function(x) x)} 

    shinyApp(ui = ui, server = server) 

輸出表將如下所示: enter image description here

希望它能幫助!

+0

'datatable'的佈局不適合我的目的。我正在尋找'rendertable'的解決方案。 – Joe

+1

@Joe我用'renderTable'的解決方案編輯了我的答案。希望能幫助到你! – SBista

相關問題