是否可以在标签下的桌子中将几行排成几行的功能?
我想在 flextable 中生成一个表,将某些行分组在一起
例如使用数据:
df<-structure(list(` ` = c("Group", "Age",
"Residence", "Smoker", "Europe"
), `1` = c("63", "25 ", "25",
"15", "15"), `2` = c("23",
"53 ", "53", "74", "11"),
`3` = c("85", "22", "43",
"13", "15")), row.names = c(NA, -5L), class = c("tbl_df",
"tbl", "data.frame"))
制作表
df<-flextable(df) %>%
add_footer_lines("Observed event") %>%
color(part = "footer", color = "#800000") %>%
bold( bold = TRUE,part="header") %>%
width(j = NULL, width = 1, unit = "in") %>%
autofit()
我想在吸烟者和欧洲行上方添加一个分组行,称为“人口统计”。对于较长的表格,这些分组使其更易于阅读。 kable 中有类似的东西(group_rows
或 pack_rows
),但我还没有找到适用于 flextable 的东西。
I would like to produce a table in flextable that groups together certain rows
For example using the data:
df<-structure(list(` ` = c("Group", "Age",
"Residence", "Smoker", "Europe"
), `1` = c("63", "25 ", "25",
"15", "15"), `2` = c("23",
"53 ", "53", "74", "11"),
`3` = c("85", "22", "43",
"13", "15")), row.names = c(NA, -5L), class = c("tbl_df",
"tbl", "data.frame"))
Make table
df<-flextable(df) %>%
add_footer_lines("Observed event") %>%
color(part = "footer", color = "#800000") %>%
bold( bold = TRUE,part="header") %>%
width(j = NULL, width = 1, unit = "in") %>%
autofit()
I would like to add a grouping row above the smoker and Europe rows, called 'demographics'. With longer tables these groupings make it easier to read. There is something similar in kable (group_rows
or pack_rows
) but I haven't found one for flextable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
有一个函数可以构造分组的 data.frame,其中组被打印为行分隔符。因此,仅当您在 data.frame 中有可用的组时,此答案才适用。我认为结果与“ftExtra”提供的结果相同,只是数据准备步骤不同。
我在示例中添加了一个名为
type
的列,用于此角色。很少有默认设置:
现在是弹性表。首先使用
as_grouped_data()
重构 data.frame,然后使用as_flextable()
将其轻松转换为弹性表。There is a function that structure a grouped data.frame where groups are printed as rows separators. So this answer only applies if you have a group that is available in the data.frame. I think the result is the same than the one provided with 'ftExtra', it only differs in the data preparation step.
I added to the example a column named
type
to be used for this role.Few default settings:
And now the flextable. First
as_grouped_data()
to restructure the data.frame, thenas_flextable()
to turn it as a flextable easily.也许您可以尝试这样的尝试:
Maybe you can try something like this:
另一个可能的解决方案可能是使用
ftextra
库(它扩展了Flextable
库的功能)。因此,请在下面找到Reprex。reprex
在2022-03-29上创建的 reprex软件包(v2.0.1)
Another possible solution might be to use the
ftExtra
library (which extends the functions of theflextable
library). So, please find below a reprex.Reprex
Created on 2022-03-29 by the reprex package (v2.0.1)