你可以嘗試大量的開發名爲我真的很年輕包到pander試圖以pandoc markdown格式打印R對象。
懶例如:
> x <- matrix(c("", "M", "F", "Good", "23", "17", "Bad", "23", "4"), nrow=3, byrow=TRUE)
> pandoc(x)
+------+------+------+
| | M | F |
+------+------+------+
| Good | 23 | 17 |
+------+------+------+
| Bad | 23 | 4 |
+------+------+------+
我只是導致像「簡單的表」或「多表」等表格語法的一些功能工作(見Pandoc的自述)。
PS: 你也可以很容易地導出這個表HTML(除了其他格式,如DOCX,ODT等)與(尚未證明)Pandoc
引用類,如:
> myReport <- Pandoc$new()
> myReport$add(x)
> myReport
Anonymous's report
==================
written by *Anonymous* at *Sun May 27 21:04:22 2012*
This report holds 1 block(s).
---
+------+------+------+
| | M | F |
+------+------+------+
| Good | 23 | 17 |
+------+------+------+
| Bad | 23 | 4 |
+------+------+------+
---
Proc. time: 0.009 seconds.
> myReport$format <- 'html'
> myReport$export()
Exported to */tmp/pander-4e9c12ff63a6.[md|html]* under 0.031 seconds.
PS第二:你也可以brew
(如sweave)一個帶有Pandoc.brew
的文本文檔,它會自動將你的<%=...%>
標籤從內部R對象轉換爲Pandoc降價格式。簡單的例子(當然這將與文件輸入工作太,現在我只是brew
的R字符向量):
> t <- '# Title
+
+ A nice matrix:
+
+ <%=matrix(c("", "M", "F", "Good", "23", "17", "Bad", "23", "4"), nrow=3, byrow=TRUE)%>
+
+ Bye-bye!'
>
> Pandoc.brew(text=t)
# Title
A nice matrix:
+------+------+------+
| | M | F |
+------+------+------+
| Good | 23 | 17 |
+------+------+------+
| Bad | 23 | 4 |
+------+------+------+
Bye-bye!
只是爲了澄清,你需要知道HTML/CSS會是什麼這樣的一個表,或者你只需要知道R中的哪個工具可以讓你創建它? – joran
據我所知,目前沒有Markdown的驅動程序,因爲它們存在latex(xtable,Hmisc,tables)中的latex和html。這是我不理解knitr世界中Markdown炒作的原因之一,即使knitr肯定是文檔方面的突破。 –
嘗試xtable或r2html。一旦你有了HTML標記,你可以用CSS中的邊框完成所有的事情。 – toniedzwiedz