将一列文本 URL 转换为 Shiny 中的活动超链接

Convert a column of text URLs into active hyperlinks in Shiny

我正在为通路强化程序创建用户界面。结果显示在 table 中,如下所示。

下面的片段显示我正在使用 DT::renderDataTable 和 DT::datatable 在选项卡中输出 table。 spia_out() 只是一个反应函数,它运行路径富集并生成数据帧。

spia_out <- reactive({
    ...get results in a dataframe...
  })

output$spiaout <- DT::renderDataTable({
      DT::datatable(spia_out(), extensions = ..., options = ...)
  })

一切正常,通路富集 table 生成并打印在相应的 UI 元素中。我唯一的问题是如何将 URL 的最后一列 (KEGGLINK) 转换为活动超链接?这样人们就可以直接点击它们而不是复制和粘贴。

对于屏幕截图的尺寸提前表示歉意。我希望你能看到最后一列 KEGGLINK 有 URL,但它们不活跃。

你需要做两件事:

  1. 修改最后一列,使 KEGGLINK 变为正确的 HTML link,如下所示:<a href='url'>link text</a>.

  2. 将 DT 传递给 escape = FALSE 参数,这样它就不会转义 HTML 代码。

DT 网页在第 2.9 节中有这样的示例: https://rstudio.github.io/DT/

执行#1 的简单方法如下:

mydata$url <- paste0("<a href='",mydata$url,"'>",mydata$url,"</a>")