在HTML输出R中创建粗体文本

时间:2015-10-28 13:47:11

标签: html r formatting shiny

可重复的例子:

require(shiny)
runApp(list(ui = pageWithSidebar(
headerPanel("Example"),
  sidebarPanel(
    sliderInput("index", 
                label = "Select a number",
                min = 1,
                max = 4,
                step = 1,
                value = 2)),
  mainPanel(
  htmlOutput("text")
  )),
server = function(input, output) {
  output$text <- renderUI({
    HTML(paste(c("banana","raccoon","duck","grapefruit")))
  })
}
))

我希望在粗体中显示与index(默认情况下为“raccoon”)对应的单词,以及普通字体中显示的其他单词。

如果我这样做:

HTML(
<b>paste(c("banana","raccoon","duck","grapefruit")[input$index])<\b>,
paste(c("banana","raccoon","duck","grapefruit")[setdiff(1:4,input$index)])
)

我收到错误(<无法识别)...

4 个答案:

答案 0 :(得分:17)

再试一次,这有用吗?

require(shiny)

fruits <- c("banana","raccoon","duck","grapefruit")

runApp(list(ui = pageWithSidebar(
  headerPanel("Example"),
  sidebarPanel(
    sliderInput("index", 
                label = "Select a number",
                min = 1,
                max = 4,
                step = 1,
                value = 2)),
  mainPanel(
    htmlOutput("text")
  )),
  server = function(input, output) {
    output$text <- renderUI({
      fruits[input$index] <- paste("<b>",fruits[input$index],"</b>")
      HTML(paste(fruits))
    })
  }
))

答案 1 :(得分:7)

这可能会对您有所帮助:

shinyApp(
  ui <- basicPage(
    uiOutput(outputId = "text")

  ),
  server <- function(input,output){

    output$text <- renderText({
      HTML(paste0("<b>","bold","</b>", " not bold"))
    })

  })

那是你在找什么?

答案 2 :(得分:3)

如果您没有开始使用HTML功能,我相信您应该能够使用strong(paste(character_vector[index]))

答案 3 :(得分:0)

只需使用renderPrint代替renderText

renderPrint({
HTML(paste0("El valor 1 es:", input$val1,"\n","el valor 2 es:",input$val2))
})