我正在为通路浓缩程序创建用户界面。结果如下表所示。
下面是一个片段,显示我正在使用DT :: renderDataTable和DT :: datatable在选项卡中输出表格。 spia_out()只是一个反应函数,它运行路径浓缩并产生数据帧。
spia_out <- reactive({
...get results in a dataframe...
})
output$spiaout <- DT::renderDataTable({
DT::datatable(spia_out(), extensions = ..., options = ...)
})
一切正常,路径浓缩表生成&amp;打印在相应的UI元素中。我唯一的问题是如何将URL的最后一列(KEGGLINK)转换为活动超链接?这样人们就可以点击它们而不是复制&amp;粘贴。
预先为截图的大小道歉。我希望你能看到最后一栏KEGGLINK有网址,但它们没有活动。
答案 0 :(得分:26)
你需要做两件事:
修改最后一列,以便将KEGGLINK更改为正确的HTML链接,如下所示:<a href='url'>link text</a>
。
将escape = FALSE
参数传递给DT,以便它不会转义HTML代码。
DT网页在2.9节中有一个例子: https://rstudio.github.io/DT/
执行#1的简单方法是:
mydata$url <- paste0("<a href='",mydata$url,"'>",mydata$url,"</a>")
答案 1 :(得分:4)
或者,也可以保持原始数据帧的完整性,并告诉dataTable如何呈现列。请参阅DT docs。
中的4.4栏渲染一节