2016-03-23 19 views
0

Ich versuche, eine hübsche LaTeX-Tabelle zu erstellen, in der die Namen der Zeilen- und Spaltenvariablen einer Tabelle enthalten sind, wenn die xtable-Bibliothek verwendet wird.R, Latex und RMarkdown: table() Eingabe für xtable() fehlende Spalten- und Zeilenbeschriftungen?

MWE:

```{r results="asis"} 
test <- data.frame(Apples=c(1,2,3), Oranges=c(4,5,6), Watermelons=c(7,8,9)) 
testxtab <- xtable(with(test,table(Apples,Oranges))) 
print(testxtab, comment=FALSE) 
``` 

Das Ergebnis ist ein LaTeX-Tabelle, die die "Äpfel" und "Orangen" Etiketten fehlen. Wie schließe ich sie ein?

Antwort

0

Ich bin mir sicher, dass Sie dies an xtable anpassen könnten, aber hier ist eine Möglichkeit, die Sie verwenden können, pixiedust. (Es ist keine sehr elegante Lösung, aber angesichts der Struktur der table Objekt, ich bin mir nicht sicher, elegant ist eine Option).

library(pixiedust) 
obj <- with(test, table(Apples, Oranges)) 

dimnames <- names(attr(obj, "dimnames")) 

head <- 
    rbind(c("", dimnames[2], rep("", ncol(obj) - 1)), 
     c(dimnames[1], colnames(obj))) %>% 
    as.data.frame(stringsAsFactors = FALSE) 
body <- cbind(rownames(obj), obj) %>% 
    as.data.frame(stringsAsFactor = FALSE) 

dust(body) %>% 
    redust(head, part = "head") %>% 
    sprinkle(rows = 1, 
      cols = 2:4, 
      merge = TRUE, 
      part = "head") %>% 
    medley_bw() %>% 
    sprinkle_print_method("latex")