2015-10-27 21 views
8

Próbuję sformatować tabelę w R markdown (kompilacja do HTML), używając knitr::kable, aby być tak małym, jak to możliwe. Być może zmniejszając na przykład tekst. Jednakże, często przez szukanie w Google, zorientowałem się, jak kontrolować poszczególne elementy, ale stół pozostaje tej samej wielkości. Myślałem, że powinien się zmniejszyć, ponieważ elementy wymagają mniej miejsca, ale tak się nie stało.R knitr - formatowanie tabeli kable HTML dla małych tekstu

Co jeszcze należy ustawić, aby stół był mniejszy?

Oto kod:

--- 
title: "kable table formating" 
output: html_document 
--- 
<STYLE TYPE="text/css"> 
<!-- 
    td{ 
    font-family: Arial; 
    font-size: 4pt; 
    padding:0px; 
    cellpadding="0"; 
    cellspacing="0" 
    } 
    th { 
    font-family: Arial; 
    font-size: 4pt; 
    height: 20px; 
    font-weight: bold; 
    text-align: right; 
    background-color: #ccccff; 
    } 
    table { 
    border-spacing: 0px; 
    border-collapse: collapse; 
    } 
---> 
</STYLE> 

```{r echo=T} 
library(knitr,quietly=T) 

n <- 14 
m <- runif(n*n) 
dim(m) = c(n,n) 
df <- data.frame(m) 
kable(df,padding=0) 
``` 

I tu jest wyjście - oczywiście nie muszę te wszystkie spacje:

enter image description here

+0

robi [to] (http://stackoverflow.com/questions/33319457/display-a-data-frame-as-table-in-r-markdown) help – rawr

+0

@rawr, zamiast osobnego pliku CSS, umieścił CSS w swoim pliku rStowndown. ma to coś wspólnego z dopełnieniem, ale z szerokością. Domyślam się, że 'kable' przyjmuje domyślną szerokość stołu równą 100% szerokości strony. Nie jestem pewien, jak rozwiązać ten problem. – Benjamin

+0

Nieważne. tak. Brakuje argumentu 'format =" html "'. W ogóle nie tworzysz tabeli HTML, ale tabelę ze zniżkami, która nie rozpoznaje argumentu dopełnienia. – Benjamin

Odpowiedz

10

Wystarczy tylko dodać format="html" aby Twój kable zadzwoń, a dostaniesz to. Domyślnie kable produkuje kod tabeli wyprzedaży (porównanie wyników kable(df) i kable(df, format = "html")

```{r echo=T} 
library(knitr,quietly=T) 

n <- 14 
m <- runif(n*n) 
dim(m) = c(n,n) 
df <- data.frame(m) 
kable(df, format = "html", pad=0) 
``` 

który wygląda tak:

enter image description here

+0

Tak, to zrobiło. Wielkie dzięki, nie widzę, jak bym to znalazł. –

Powiązane problemy