una texto página para pagina otra misma hipervinculos hipervinculo hacer etiqueta enlazar enlaces enlace ejemplos dentro convertir como codigo r hyperlink datatables shiny dt

página - Convierta una columna de URL de texto en hipervínculos activos en Shiny



hipervinculos en html ejemplos (2)

Estoy creando una interfaz de usuario para un programa de enriquecimiento de vías. Los resultados se muestran en una tabla como se muestra a continuación.

A continuación se muestra un fragmento que muestra que estoy usando DT :: renderDataTable y DT :: datatable para mostrar la tabla en una pestaña. spia_out () es solo una función reactiva que ejecuta el enriquecimiento de la ruta y produce un marco de datos.

spia_out <- reactive({ ...get results in a dataframe... }) output$spiaout <- DT::renderDataTable({ DT::datatable(spia_out(), extensions = ..., options = ...) })

Todo funciona bien, la tabla de enriquecimiento de camino se genera e imprime en el elemento de UI correspondiente. Mi único problema es cómo convertir la última columna (KEGGLINK) de las URL en hipervínculos activos. Para que la gente pueda simplemente hacer clic en ellos en lugar de copiar y pegar.

Disculpas de antemano por el tamaño de la captura de pantalla. Espero que pueda ver la última columna KEGGLINK tiene URL pero no están activas.


Alternativamente, también es posible mantener el dataframe original intacto y decirle a dataTable cómo renderizar una columna. Consulte la sección 4.4 Representación de columnas en los documentos DT .


Tienes que hacer dos cosas:

  1. Modifique la última columna para que KEGGLINK se convierta en un enlace HTML adecuado que se vea como: <a href=''url''>link text</a> .

  2. Pase DT el argumento escape = FALSE para que no escape el código HTML.

La página web de DT tiene un ejemplo de esto en la sección 2.9: https://rstudio.github.io/DT/

Una forma simple de hacer # 1 sería algo así como:

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