我正在尝试将链接添加到“kable”中的特定网页。在创建pdf时,Rmarkdown中的表格。
该表有4列,我希望链接位于第二列,当前包含字符串。表格的输出如下:
knitr::kable(ind_rank_table_final,row.names = FALSE,caption = "Industry Rank",align = rep("l",ncol(ind_rank_table)))
答案 0 :(得分:8)
使用paste0
,您可以在数据框中构建markdown格式的网址,然后将其传递给kable
,如下所示:
---
output: pdf_document
---
```{r}
# some urls
urls <- rep("https://stackoverflow.com/", 10)
# use paste0 to compose markdown-formatted hyperlinks
mtcars$mpg <- paste0("[", mtcars$mpg, "](", urls, ")")
# print the table, with hyperlinked text
knitr::kable(head(mtcars))
```
你可以在mpg栏中看到结果,蓝色文字,如果我将鼠标悬停在上面,我会看到网址:
如果你想打印表格中的网址,并点击它们,那么你可以这样做mtcars$mpg <- paste0("[", urls, "](", urls, ")")
这样的事情:
这就是你要追求的吗?使用paste0
对于对表执行各种操作非常方便,例如,combining multiple values in one cell和applying conditional formatting (like bold for significant values)
答案 1 :(得分:0)
对于那些使用 bookdown 编织到 PDF 的人,@Ben 的答案不会让您完全了解。正如@mavericks 所指出的,您仍会看到全文([21](https://stackoverflow.com/)
,与@maverick 的示例保持一致)。
要解决此问题,请将参数 format = "pipe"
或 format = "simple"
添加到 kable()
。 “latex”选项在生成工作链接时将像@maverick 的示例一样显示。 kable()
的默认行为是自动确定格式,我猜在 bookdown 文档的情况下必须是“latex”?
我不知道,但这应该会为 bookdown 用户生成@Ben 的第一个表:
# some urls
urls <- rep("https://stackoverflow.com/", 10)
# use paste0 to compose markdown-formatted hyperlinks
mtcars$mpg <- paste0("[", mtcars$mpg, "](", urls, ")")
# print the table, with hyperlinked text
knitr::kable(head(mtcars), format = "simple")