我有一个R数据帧,它显示在由renderDataTable调用的RShiny输出上。但是,我无法实现简单的Java或html标记,这有助于我执行以下操作。
示例:(我正在插入server.ui代码,考虑到这些参数将在server.ui结束时设置。)为了简化,仅代表2行。 mydataframe
Col1 Col2 Col3
Google 5 lines description www.google.com
Yahoo 5 lines description www.yahoo.com
目标是
非常感谢您的帮助和建议。
output$PM_output <- renderDataTable(expr = mydataframe),
options = list(autoWidth = T,
LengthMenu = c(5, 30, 50),
columnDefs = list(list(targets = c(6,7,8,9) - 1,
searchable = F)),
pageLength = 5,
selection = 'multiple'))
答案 0 :(得分:4)
您可以将escape
参数用于数据表,请参阅https://rstudio.github.io/DT/#escaping-table-content。
shinyApp(
shinyUI(
fluidPage(
dataTableOutput('PM_output')
)
),
shinyServer(function(input, output, session) {
require(DT)
dat <- read.table(text="Col1 Col2 Col3
Google '5 lines description' www.google.com
Yahoo '5 lines description' www.yahoo.com", header=T, strings=F)
dat$Col3 <- sapply(dat$Col3, function(x)
toString(tags$a(href=paste0("http://", x), x)))
output$PM_output <- renderDataTable(expr = datatable(dat, escape=FALSE),
options = list(autoWidth = T))
})
)
设置escape=3
(列号)似乎也有效,或者将escape
参数传递给renderDataTable
。