R,Latex和RMarkdown:xtable()缺少列和行标签的table()输入?

时间:2016-03-23 18:42:02

标签: r latex markdown r-markdown xtable

我正在尝试创建一个漂亮的LaTeX表,其中使用xtable库时包含表的行和列变量的名称。

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)
```

结果是LaTeX表缺少“Apples”和“Oranges”标签。我如何包含它们?

1 个答案:

答案 0 :(得分:0)

我确定您可以将其改编为xtable,但您可以使用pixiedust采取一种方法。 (这不是一个非常优雅的解决方案,但考虑到table对象的结构,我不确定优雅是一种选择。

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")