2014-12-30 83 views
3

任何人都可以給我任何提示如何在R(鏈接)輸出此表?例如,如何加粗第一行,添加虛線以及爲表格創建雙重標題。我更喜歡R降價,RFT也行,我試圖避免乳膠。非常感謝!!表格格式和輸出在R

enter image description here

+0

你肯定不能用markdown做到這一點。使用LaTeX或HTML,雖然這條虛線似乎並不是我廣泛使用的標準。無論如何,如果你希望得到任何答案,例如你的數據/模型,你應該想出一個最小可重現的例子? – daroczig

回答

6

下面是使用htmlTable

install.packages('devtools') 
devtools::install_github('gforge/htmlTable') 

(你也可以找到htmlTable的功能,在CRAN(install.packages('Gmisc'))的Gmisc包的一種方式,但它很快就會消失,並且可用於稱爲htmlTable的獨立包)

out <- 
    structure(c("37(34%)", "1 (Ref)", "1 (Ref)", "1 (Ref)", "1 (Ref)", 
       "1 (Ref)", "45(23%)", "0.68 (0.63, 0.73)", "0.38 (0.32, 0.44)", 
       "0.21 (0.17, 0.28)", "0.08 (0.05, 0.13)", "0.05 (0.02, 0.11)", 
       "", "0.03", "0.04", "0.03", "0.02", "0.02", "110(34%)", "0.68 (0.65, 0.71)", 
       "0.38 (0.34, 0.42)", "0.21 (0.18, 0.25)", "0.08 (0.06, 0.11)", 
       "0.05 (0.03, 0.08)", "", "0.03", "0.04", "0.03", "0.02", "0.02" 
), 
    .Dim = c(6L, 5L), 
    .Dimnames = list(NULL, c("r", "hr", "p", "hr", "p"))) 

## format rows/cols 
colnames(out) <- c('(n = ***)','HR (92% CI)','P','HR (92% CI)','P') 
rownames(out) <- c('PD No (%)','None','Age','Age (<60 vs > 60)', 
        '&emsp;Age > 60','&emsp;Age < 60') 

## add padding row called subset 
out <- rbind(out[1:4, ], 'Subsets:' = '', out[5:6, ]) 

## bolding rownames 
rownames(out) <- sprintf('<b>%s</b>', rownames(out)) 

## table column headers (with line breaks (<br />)) 
cgroup <- c('', 'R + C<br />(n = ***)', 'R + S<br />(n = ***)') 

# zzz <- `rownames<-`(out, NULL) 

library(htmlTable) 
htmlTable(out, rowlabel = 'Adjustment<sup>&dagger;</sup>', 
      ctable = TRUE, align = 'ccccc', 
      ## number of columns that each cgroup label spans: 
      n.cgroup = c(1, 2, 2), cgroup = cgroup, 
      ## insert two table spanning sections: 
      tspanner = c('',''), # no labels 
      n.tspanner = c(4, 3), # number of rows to span (must sum to nrow(out)) 
#   css.tspanner.sep = "border-bottom: 1px dotted grey;", 
      caption = "Table 1: Hazard ratios and <i>p</i> values of two models and 
        something something.", 
      tfoot = '<font size=1><sup>&dagger;</sup>Some note.</font>') 

給出我這個

enter image description here

然與虛線問題(頭痛)。建議只使用固體

+0

這真棒!非常感謝你! –

+0

它工作得很好!輸出是一個HTML頁面,有什麼辦法將其轉換/輸出到一個Word文件? –

+0

我通常在html/latex中保留所有東西,當我需要的時候(hackily)將其放入單詞中(因爲我經常不足以找到更好的方法;而且我還沒有找到從html /乳膠到詞很容易)。還有其他一些選擇:1)[帶有示例的pandoc](http://johnmacfarlane.net/pandoc/demos.html); 2)在.rmd文件的頂部使用正確的[yaml front matter](http://rmarkdown.rstudio.com/word_document_format.html); 3)(最適合我的)複製/粘貼到word/excel中,並在需要時進行編輯(通常在rmd中完成後比較容易添加) – rawr

0

你可以使用包ReporteRs。有輸出示例和相應的R代碼here

你可以控制表格邊框,字體,段落等。

+0

謝謝!我會嘗試一下 –