2017-08-22 2 views
0

Ich versuche knitr::kable zu verwenden, um eine gut aussehende Tabelle mit mehreren Gruppierungsebenen zu erstellen. Ich war erfolgreich mit den meisten meiner Arbeit, aber ich muss mehrere Gruppen von Zeilen definieren und ich dachte, dass die Funktion kableExtra::group_rows genau das ist, was ich brauchen würde. Es gibt einige ziemlich gute Dokumentationen (https://haozhu233.github.io/kableExtra/awesome_table_in_pdf.pdf) mit einigen leicht zu befolgenden Beispielen in Bezug auf die Verwendung dieser Funktion, aber ich scheine die wiedergegebene Ausgabe nicht zu reproduzieren.Kable group_rows funktioniert nicht

Hier ist das Code-Snippet from the above linked documentation demonstrating the use of the function.

jedoch genau die gleiche Code in meiner interaktiven Sitzung nicht Gruppe die Zeilen:

kable(mtcars[1:10, 1:6], caption = "Group Rows", booktabs = T) %>% 
kable_styling() %>% 
group_rows("Group 1", 4, 7) %>% 
group_rows("Group 2", 8, 10) 

|     | mpg| cyl| disp| hp| drat| wt| 
|:-----------------|----:|---:|-----:|---:|----:|-----:| 
|Mazda RX4   | 21.0| 6| 160.0| 110| 3.90| 2.620| 
|Mazda RX4 Wag  | 21.0| 6| 160.0| 110| 3.90| 2.875| 
|Datsun 710  | 22.8| 4| 108.0| 93| 3.85| 2.320| 
|Hornet 4 Drive | 21.4| 6| 258.0| 110| 3.08| 3.215| 
|Hornet Sportabout | 18.7| 8| 360.0| 175| 3.15| 3.440| 
|Valiant   | 18.1| 6| 225.0| 105| 2.76| 3.460| 
|Duster 360  | 14.3| 8| 360.0| 245| 3.21| 3.570| 
|Merc 240D   | 24.4| 4| 146.7| 62| 3.69| 3.190| 
|Merc 230   | 22.8| 4| 140.8| 95| 3.92| 3.150| 
|Merc 280   | 19.2| 6| 167.6| 123| 3.92| 3.440| 

Soweit ich das beurteilen kann, die group_rows Funktionen vollständig ignoriert werden. Ich habe das versucht, indem ich die format = "latex" Option verwendete, um das rohe Latex zu produzieren, und dieses ist in der gleichen Weise nicht erfolgreich gewesen. Ich frage mich, ob diese Funktion nicht veraltet ist? Eine ähnliche Frage sah einige Probleme mit speziellen Escape-Zeichen, aber ich bin nicht in der Lage, es mit einfachen Daten arbeiten zu lassen.

Antwort

0

Wie ich in dieser Dokumentation sagte, müssen Sie format = "latex" in der kable Funktion angeben. Oder Sie können das Format mit der globalen Option angeben. So oder so, der Code sollte funktionieren.

Für Ihr Beispiel hier

kable(mtcars[1:10, 1:6], "latex", caption = "Group Rows", booktabs = T) %>% 
    kable_styling(latex_options = "hold_position") %>% 
    group_rows("Group 1", 4, 7) %>% 
    group_rows("Group 2", 8, 10) 

Ich füge "hold_position" mit dem Code, den Tisch zu befestigen. Es ist optional.

Verwandte Themen