2017-06-12 2 views
2

Ich möchte eine Möglichkeit, die Ergebnisse einer Pipeline-Manipulation in eine Tabelle zu konvertieren, so dass es als HTML-Tabelle in R Markdown gerendert werden kann.Wie konvertiere ich eine Tibble in HTML Tabelle in R ordidyverse?

Beispieldaten:

Category <- sample(1:6, 394400) 
Category <- sample(1:6, 394400, replace=TRUE) 
Category <- factor(Category, 
        levels = c(1,2,3,4,5,6), 
        labels = c("First", 
           "Second", 
           "Third", 
           "Fourth", 
           "Fifth", 
           "Sixth")) 
data <- data.frame(Category) 

Dann baue ich eine Häufigkeitstabelle, die Pipeline mit:

Table <- data %>% 
      group_by(Category) %>% 
      summarise(N= n(), Percent = n()/NROW(data)*100) %>% 
      mutate(C.Percent = cumsum(Percent)) 

Was mir diese nette kleine Übersichtstabelle hier gibt:

# A tibble: 6 × 4 
    Category  N Percent C.Percent 
    <fctr> <int> <dbl>  <dbl> 
1 First 65853 16.69701 16.69701 
2 Second 66208 16.78702 33.48403 
3 Third 65730 16.66582 50.14985 
4 Fourth 65480 16.60243 66.75228 
5 Fifth 65674 16.65162 83.40390 
6 Sixth 65455 16.59610 100.00000 

Allerdings, wenn Ich versuche, das in eine Tabelle zu konvertieren, um dann zu HTML zu konvertieren, es sagt mir, dass esnicht zwingen kannzu einem Tisch. Dies gilt auch für Datenrahmen.

Kennt jemand einen Weg, da würde ich gerne das Aussehen der Ausgabe anpassen?

+1

Sie beschreiben nicht, wie Sie versucht haben, das in eine Tabelle zu konvertieren, um sie dann in HTML zu konvertieren. Vielleicht funktioniert 'knitr :: kable' von dir? – lmo

+0

Verwenden Sie das 'DT'-Paket, um eine [Datentabelle] (http://rstudio.github.io/DT) zu erstellen. Ich benutze es die ganze Zeit und es ist sehr hilfreich. – p0bs

Antwort

1

Dafür gibt es mehrere Pakete. Hier sind einige:

Jeder von diesen hat verschiedene Anpassungsoptionen.

+0

kable hat einen Leckerbissen für diesen einen, ich habe auch einige komplexere Tabellen, die mit Formeln mit dem "Tabellen" -Paket gebaut werden. Weißt du, ob es einen Weg gibt, um kable auch mit ihnen zu arbeiten? – Nick

+0

Wenn Sie dieses 'tables' Objekt in' html() 'umschließen, ist die Ausgabe eine html Tabelle – yeedle

+0

Wenn Sie' kable' gezielt verwenden wollen, können Sie etwas wie 'kable (as.matrix (complex_table))' machen. Sie werden wahrscheinlich den resultierenden Rmarkdown bearbeiten müssen. – yeedle

Verwandte Themen