R Notebook HTML Format - add hyperlinks to paged table

后端 未结 1 1590
小鲜肉
小鲜肉 2021-01-16 09:51

I wish to knit an html file from an R Notebook that contains paged tables with hyperlinks.
Hyperlinks can be inserted using knitr::kable, but I can\'t find

相关标签:
1条回答
  • 2021-01-16 10:06

    Since there doesn't seem to be a perfect solution to my problem, I thought I'd post the workaround that I came up with - in case someone has a similar problem.
    I created the table plus hyperlinks with knitr::kable and then added an html button and inline javascript to toggle visibility - not as elegant as a paged table, but does the job.
    Note the <script> tag at the bottom of the file that hides tables by default.
    (Paste code into an .Rmd file in RStudio):

    ---
    title: "Managing large tables with hyperlinks in html notebook"
    output:
      html_notebook:
        code_folding: "hide"
    ---
    
    <script>
    function myFunction(id) {
        var x = document.getElementById(id);
        if (x.style.display === 'none') {
            x.style.display = 'block';
        } else {
            x.style.display = 'none';
        }
    }
    </script>
    
    ```{r}
    library(knitr)
    df1 <- data.frame(Month=month.name, Link=paste0("[", month.name, "](https://en.wikipedia.org/wiki/", month.name, ")"))
    ```
    
    <button class="button" onclick="myFunction('DIV_months')">Show/hide table</button>
    <div id="DIV_months" class="div_default_hide">
    ```{r}
    knitr::kable(df1)
    ```
    </div>
    
    <script>
    var divsToHide = document.getElementsByClassName("div_default_hide");
    for(var i = 0; i < divsToHide.length; i++)
        {
        divsToHide[i].style.display = 'none';
        }
    </script>
    
    0 讨论(0)
提交回复
热议问题