Ich hatte das gleiche Problem. Die Option escape = FALSE
für renderDataTable löste es, wie Sie in den Kommentaren erwähnt haben.
Hier ist der vollständige Code für eine App mit einer Tabelle, die Links enthält.
Wenn Sie dies tun, möchten Sie, dass jeder Link basierend auf einem Wert in der Tabelle eindeutig ist. Ich verschiebe diesen Code in eine Funktion, damit er sauberer wird.
#app.R#
library(shiny)
createLink <- function(val) {
sprintf('<a href="https://www.google.com/#q=%s" target="_blank" class="btn btn-primary">Info</a>',val)
}
ui <- fluidPage(
titlePanel("Table with Links!"),
sidebarLayout(
sidebarPanel(
h4("Click the link in the table to see
a google search for the car.")
),
mainPanel(
dataTableOutput('table1')
)
)
)
server <- function(input, output) {
output$table1 <- renderDataTable({
my_table <- cbind(rownames(mtcars), mtcars)
colnames(my_table)[1] <- 'car'
my_table$link <- createLink(my_table$car)
return(my_table)
}, escape = FALSE)
}
shinyApp(ui, server)
umfassen Ihr versucht, Code – HaveNoDisplayName
Wie ich den Code gelesen, dass diese Linie zu meinem Browser gedrückt wird tut, um die Anzeige des Bereichs, den ich glaube, Sie haben Schwierigkeiten mit, die mir zeigt, dass wir wirklich brauchen wissen, was in der zugrunde liegenden Tabelle ist: '
' –Danke, ich habe die Lösung gefunden. Die RenderDataTable-Funktion in Shiny hat ein Argument Escape. Es wurde in der neuen Version standardmäßig auf TRUE gesetzt. Wenn ich es ändere, funktioniert es wieder. Weitere Informationen: http://shiny.rstudio.com/reference/shiny/latest/renderDataTable.html –