2013-10-08 90 views
7

我正在尋找僅使用R和Markdown將2列報告呈現爲獨立HTML文件。我在R內降價很新,所以我需要一些佈局方面的幫助。2 R報告中的列報告 - 將HTML渲染放在數據框中

下圖顯示了我想使用RMarkdown進行渲染的佈局。

enter image description here

的HTML是在左手側,沿着右手邊的一些數據。

raw HTML and the example dataframe可以在這裏找到:

注:我用pander包使用下面的命令來創建表:

pandoc.table(df, style="rmarkdown") 
+4

誰投票決定關閉這一點,他們可以發表一個解釋,爲什麼這是脫離主題? OP僅詢問如何使用R Markdown實現雙列布局。他已經非常清楚地發佈了他想要的內容,以及一些實現相同內容的代碼。它打敗了我如何與編程無關。我認爲一個解釋是爲了。 – Ramnath

+2

我看到在關閉請求中尋求關閉的原因。但是,從一開始就不是負面的權利,爲什麼不推動OP首先採取措施使問題符合要求呢? – Ramnath

+1

那麼簡單地在'

...
'標籤(分開)之間包裹圖像和表格呢?更多信息:http://css-tricks.com/all-about-floats/ – daroczig

回答

13

雖然這不是一個完美的解決方案,它是一個地方開始:Yihui最近爲knitr添加了HTML模板,docco是一個雙列頁面示例:http://cran.r-project.org/web/packages/knitr/vignettes/docco-classic.html

您可以在此處看到用於該輸出的模板文件:https://github.com/yihui/knitr/blob/master/inst/misc/docco-template.html

或者,您可以嘗試將內聯HTML正確放置在您的R Markdown塊中,但這非常黑客,您可能覺得自己像一個壞人一樣做。我們使用results='asis'以便cat ed HTML正確渲染,out.extra=''確保用於生成圖形的HTML是馬上生成的,而不是用於包含圖像的Markdown語言。

```{r two-column, results='asis', echo=FALSE, out.extra=''} 
library(knitr) 
cat("<table class='container'><tr>") 
cat("<td>") 
plot(rnorm(10)) 
cat("</td>") 
cat("<td>") 
kable(rnorm(10), format="html") 
cat("</td>") 
cat("</tr></table>") 
``` 

調用上knit應該產生針對特定塊的2列布局(儘管沒有任何漂亮的造型爲表;您可以在自己與一些CSS)

+0

有趣的方法。我沒有想過把一些基本的HTML分解出來。我的問題的基本原理是,我看到像Slidify這樣的軟件包和RStudio的Dev versin允許2列布局。因此,我不知道是否有明顯的方法來分解兩個代碼塊 – Btibert3

+0

我一直希望避免在此級別編寫代碼,但您在其上面展示了相當簡單的代碼,以便即時自定義髒部分。非常感謝! – Btibert3

+0

@Kevin Ushey我試過你的解決方案。謝謝,像你說的那樣看起來不太好。特別是,當瀏覽器的大小發生變化時,表格不會完全顯示。是否有可能提供更好的解決方案或添加CSS?因爲我不熟悉它。 –