我想使用htmlOutput
在shiny应用程序中渲染文本。如果我在选择输入中只选择了一个对象,应用程序就可以工作!一旦input$var
有多个对象,结果就不是我预期的那样
require(shiny)
runApp(list(ui = pageWithSidebar(
headerPanel("Test"),
sidebarPanel(
selectInput("var",
label = "Choose a variable to display",
choices = c("Text01", "Text02",
"Text03", "Text04"),multiple = TRUE,
selected = "Text01"),
sliderInput("range",
label = "Range of interest:",
min = 0, max = 100, value = c(0, 100))
),
mainPanel(htmlOutput("text"))
),
server = function(input, output) {
output$text <- renderUI({
str1 <- paste("You have selected", input$var)
str2 <- paste("You have chosen a range that goes from",
input$range[1], "to", input$range[2])
HTML(paste(str1, str2, sep = '<br/>'))
})
}
)
)
我如何修改代码以获得如下输出:
You have selected Text01,Text02
You have chosen a range that goes from 0 to 100.
3条答案
按热度按时间hfyxw5xn1#
换条线就行了
与
问题是当
input$var
有一个以上的元素时,paste()
返回一个字符串向量,而使用collapse
可以将字符串向量input$var
减少为一个值。col17t5w2#
zlhcx6iw3#
我建议使用基R函数
toString()
,而不是第二个paste
: