2017-10-12 6 views
0

renderTableの行名に添字を追加するにはどうすればよいですか?次の例では、A_1A_2という添え字が必要です。レンダリングテーブル(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パッケージを使用して、そのためのデータテーブルを作成できます。 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

EDIT:

あなたがでrenderTableのための添え字を追加することができますsanitize.text.function = function(x) xのhtmlタグを使用します。以下に示すように、コードは次のようになります。

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

関連する問題