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

Kom*_*thi 14 r datatables hyperlink shiny dt

我正在为通路浓缩程序创建用户界面.结果如下表所示.

在此输入图像描述

下面是一个片段,显示我使用DT :: renderDataTable和DT :: datatable在选项卡中输出表.spia_out()只是一个反应函数,它运行路径浓缩并产生一个数据帧.

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

output$spiaout <- DT::renderDataTable({
      DT::datatable(spia_out(), extensions = ..., options = ...)
  })
Run Code Online (Sandbox Code Playgroud)

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

为截图的大小提前道歉.我希望你能看到最后一栏KEGGLINK有URL,但它们没有活动.

jrd*_*dhl 27

你需要做两件事:

  1. 修改最后一列,以便将KEGGLINK更改为正确的HTML链接,如下所示:<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>")
Run Code Online (Sandbox Code Playgroud)

  • 得到它了!`mydata $ url < - paste0("<a href ='",mydata $ url,"'target ='_ blank'>",mydata $ url,"</a>") (3认同)