2016-01-29 64 views
3

我想在創建PDF時在Rmarkdown的'kable'表中包含指向特定網頁的鏈接。在Rmarkdown表中包含鏈接(pdf)

該表有4列,我希望鏈接在第二列,其中目前包括字符串。表格的輸出如下:

knitr::kable(ind_rank_table_final,row.names = FALSE,caption = "Industry Rank",align = rep("l",ncol(ind_rank_table))) 
+0

這是絕對可行的,但是問題是什麼?請包括一個可重複的例子,例如我不知道'ind_rank_table_final'是什麼,所以很難嘗試提供幫助。 – daroczig

回答

5

使用paste0,您可以構建降價格式的網址,在你的數據幀,然後傳遞到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藍色文本列,如果我將鼠標懸停我的鼠標,我看到的網址:

enter image description here

如果你要打印的網址,在表,並讓他們點擊,然後you'de做這樣的事情mtcars$mpg <- paste0("[", urls, "](", urls, ")")像這樣:

enter image description here

是你以後在做什麼?這種使用paste0是非常方便的做各種表格,例如,combining multiple values in one cell,和applying conditional formatting (like bold for significant values)

+1

如果您不想手動構建降價網址,您也可以使用pander套件中的'pandoc.link'(或'pandoc.link.return'來捕獲結果,而不是發送到'stdout')。 – daroczig

+0

謝謝,你的'pander'軟件包有這麼多方便的功能! – Ben