在Rstudio中创建R标记报告时,我希望使我的表更容易理解。我研究了可及性()和xtable(),但是我没有找到我正在寻找的东西(或者可能还没有理解我找到了什么)。下面是一个示例表,我可能会包括:
library(dplyr)
library(tidyr)
library(knitr)
mtcars %>%
group_by(gear,cyl) %>%
summarize(count = n()) %>%
spread(cyl,count) %>%
kable()
以下是(控制台)结果:
| gear| 4| 6| 8|
|----:|--:|--:|--:|
| 3| 1| 2| 12|
| 4| 8| 4| NA|
| 5| 2| 1| 2|
在报告中,我希望将列名"Cyl“(或者更好的”圆柱“)包含在4/6/8之上,否则,在复杂的表中,可能不清楚这些值代表了什么。
具体而言:我如何在这个表的开头添加一行,显示最后三列上方的“柱面”?
谢谢你的帮助!
发布于 2015-03-23 15:07:51
这不是我想要的具体内容,但我决定只更改每个列的名称。这是基本的,但是对于未来的任何人来说,我的代码现在如下所示:
library(dplyr)
library(tidyr)
library(knitr)
test <- mtcars %>%
group_by(gear,cyl) %>%
summarize(count = n()) %>%
spread(cyl,count)
colnames(test)[2:4] <- paste(c(4,6,8),"Cylinder",sep=" ")
test %>% kable()
结果表在控制台中如下所示:
| gear| 4 Cylinder| 6 Cylinder| 8 Cylinder|
|----:|----------:|----------:|----------:|
| 3| 1| 2| 12|
| 4| 8| 4| NA|
| 5| 2| 1| 2|
发布于 2016-12-28 12:46:18
当使用HTML作为输出时,htmlTable
包提供列分组:
library(dplyr)
library(tidyr)
library(htmlTable)
test <- mtcars %>%
group_by(gear,cyl) %>%
summarize(count = n()) %>%
spread(cyl,count)
htmlTable(
test[,-1], # data.frame
cgroup = c("Cylinders"), # Column group labels
n.cgroup = c(3), # Number of columns per group
rnames = test[[1]], # Row labels
rowlabel = "Gears" # Column header for row labels
)
对于PDF输出,Hmisc::latex
提供了类似的语法(不幸的是,由于我目前正在处理的机器上缺少LaTeX,我无法测试这个语法):
library(Hmisc)
latex(
test[,-1], # data.frame
cgroup = c("Cylinders"), # Column group labels
n.cgroup = c(3), # Number of columns per group
rowname = test[[1]], # Row labels
rowlabel = "Gears" # Column header for row labels
)
如果你想要MS字输出,你现在运气不好,据我所知。
https://stackoverflow.com/questions/29187321
复制相似问题