标签: flextable

flextable:如何合并某些列具有重复值的行

我正在使用 flextable() 制作一个表格。我想合并具有重复 srdr_id 的单元格。

鉴于这些数据:

test <- structure(list(srdr_id = c("175124", "175124", "172545", "172545", 
"172609", "172609", "172609"), full_name = c("TAU", "MI", "TAU", 
"MI", "TAU", "MI", "MI"), article_arm_name = c("Control", "WISEteens", 
"Assessed control", "Intervention", "Control", "Computer BI", 
"Therapist BI"), arm_number = c(1L, 2L, 1L, 2L, 1L, 2L, 3L)), row.names = c(NA, 
-7L), class = c("tbl_df", "tbl", "data.frame"))


  srdr_id full_name article_arm_name arm_number
  <chr>   <chr>     <chr>                 <int>
1 175124  TAU       Control                   1
2 175124  MI        WISEteens                 2
3 172545  TAU       Assessed control          1 …
Run Code Online (Sandbox Code Playgroud)

r flextable

4
推荐指数
1
解决办法
3291
查看次数

如何更改弹性表页脚中第一个单词的字体?

我正在尝试使用 构建 APA 样式表flextable,它将导出为 .docx 格式。我需要页脚的第一个单词为斜体,但后面的单词不需要(脚注等)。我还没能做到。

下面是一个小例子:

require(flextable)

tab <- data.frame("Variable" = c("Reference Norm", "Suject", "Cutoff"), 
                  "Indicators"= c("Content 1", "Content 2", "Content 3"), 
                  "Reference Norm" = c("", "Content 4", "Content 5"), 
                  "Subject" = c("", "", "Content 6"))

tab <- flextable(tab)
tab <- add_footer_lines(tab, values = "Note.") # This is where I need italic font
tab <- footnote(tab, i= 2, j= 2:3 , part = "body", ref_symbols="a", value = as_paragraph("Method x"), inline=T)
Run Code Online (Sandbox Code Playgroud)

fonts r footer flextable

4
推荐指数
1
解决办法
747
查看次数

如何在不使用列名的情况下在flextable对象中指定大标记分隔符?

上下文:我正在使用 Awesome package 创建 .docx 表flextable。该包具有在最终输出中格式化数字的功能:set_formatter_type()。如果我理解正确的话,这个函数需要一个可以被使用的字符输入sprintf()。我能够使用以下命令实现预期的输出set_formatter(),但需要明确命名每一列,而我无法对真实的表执行此操作。

问题:我无法找到如何使用sprintf()flextable::set_formatter_type().

可以使用以下命令实现正确的格式设置formatC(),但此功能不适用于flextable::set_formatter_type()

formatC(x = signif(1715235456.5684, 3), big.mark = " ", digits = 0, format = "f")
[1] "1 720 000 000"
Run Code Online (Sandbox Code Playgroud)

使用sprintf()我能够实现:

 sprintf("%.0f", signif(1715235456.5684, 3))
[1] "1720000000"
Run Code Online (Sandbox Code Playgroud)

可重现的例子:

df <- flextable::flextable(iris[1:3]*1000)
flextable::set_formatter_type(df, fmt_double = "%.0f") # works fine but I can't get big mark separator
flextable::set_formatter_type(df, fmt_double = function(x) formatC(x, digits = 0, big.mark = …
Run Code Online (Sandbox Code Playgroud)

printf r flextable

4
推荐指数
1
解决办法
1534
查看次数

将一个 flextable、一个 ggplot、一个文本和一个图像组合成一个网格对象,然后将其添加到幻灯片中

我想知道是否可以将 flextable/regulartable、ggplot、文本和图像组合到一个网格对象中,然后将该网格放在 PowerPoint 幻灯片中?

这对于在幻灯片中排列对象非常有用,而不必总是被迫计算每个对象的坐标。

我看到了一个通过 grid.arrange 组合和排列 ggplot 对象的示例(r - 为什么我不能使用 OfficeR 将网格中的一组图发送到 PowerPoint?)但是如果我还想添加一个 flextable 或者一个新文本段,它不再起作用了。

有没有办法通过网格布局来改进表示层?

谢谢!

powerpoint r grid-layout flextable officer

3
推荐指数
1
解决办法
909
查看次数

使用R中的flextable和officer包从flextable中删除所有行间距

使用flextable包创建flextable并使用R中的officer包将其打印到powerpoint文档中时,如何删除flextable中的所有行间距?

默认情况下,行距为 1.0,前后间距为 2 pt,后间距为 2 pt。我如何获得它,以便前后有 0 pt 的间距?

多谢!

r flextable officer line-spacing

3
推荐指数
1
解决办法
2324
查看次数

更改弹性表中的单元格值

有没有办法改变弹性表中的值?在版本 0.4.7.003 中可以这样做(这在 0.5.1 中不再有效):

library(flextable)
ft <- flextable( head( iris ))
ft$body$dataset[2,5] <- 'XXXXXXXX'
ft
Run Code Online (Sandbox Code Playgroud)

r edit cell flextable

3
推荐指数
1
解决办法
2177
查看次数

格式化 Flextable 中特定列的数字

我在 RStudio 中使用 R 版本 3.6.1。我有flextable版本0.5.5和officer版本0.3.5。

我在 RMarkdown 中格式化弹性表中的数字时遇到困难。默认情况下,所有数字均显示为小数点后 3 位。对于我的一些数字,这很好(实际上是首选),但对于其他数字,我想删除小数。

使用此处的建议,我能够调整我的表格,以便所有数字都四舍五入到最接近的整数。我的代码如下(用于再现性的示例表;其他格式与我当前的代码相同)。

ft_test <- head(iris) %>% flextable() %>% 
    hline(part = 'header', border = fp_border(color = "black", width = 3)) %>% 
    align(align ='center', part = 'all') %>% 
    align(j = 1, align ='left', part = 'all') %>% 
    set_formatter_type(fmt_double = "%.0f")
ft_test
Run Code Online (Sandbox Code Playgroud)

但是,我只希望某些列是整数,而其他列仍然有小数。我尝试使用j参数来调用某些列:

ft_test <- head(iris) %>% flextable() %>% 
    hline(part = 'header', border = fp_border(color = "black", width = 3)) %>% 
    align(align ='center', part = 'all') %>% 
    align(j = 1, …
Run Code Online (Sandbox Code Playgroud)

r flextable r-markdown

3
推荐指数
1
解决办法
8804
查看次数

Flextable :在数据框中使用上标

这个问题被问了几次,但令人惊讶的是,没有给出答案。

我希望数据框中的一些数字出现在上标中。函数composedisplay不适合这里,因为我还不知道数据框中的哪些值将出现在上标中(我的表格是自动生成的)。

我尝试使用^8^like for kable$$10^-3$$paste(expression(10^2))"H\\textsubscript{123}"等。

没有任何效果!帮助 !我拔掉我的头发...

library(flextable)
bab = data.frame(c( "10\\textsubscript{-3}", 
paste(as.expression(10^-3)), '10%-3%', '10^-2^' ))
flextable(bab)
Run Code Online (Sandbox Code Playgroud)

我正在编织Rhtml 。

html markdown flextable r-markdown

3
推荐指数
1
解决办法
3242
查看次数

在不指定单元格的情况下向弹性表添加页脚

我想在 .txt 文件中添加脚注flextable。理想情况下,我不想添加 aref_symbol但不确定这是否可能,但即使当我尝试在标题的第一个单元格中添加 a 时ref_symbol,我也会收到错误:

df = structure(list(Centre_group = c("NA or other", "NA or other", 
"North", "North", "South east", "South east", "South west"), 
    reliable_use_info = c(FALSE, TRUE, FALSE, TRUE, FALSE, TRUE, 
    TRUE), n = c(126L, 135L, 140L, 364L, 1065L, 508L, 1126L)), class = c("grouped_df", 
"tbl_df", "tbl", "data.frame"), row.names = c(NA, -7L), groups = structure(list(
    Centre_group = c("NA or other", "North", "South east", "South west"
    ), .rows = structure(list(1:2, 3:4, 5:6, 7L), ptype = …
Run Code Online (Sandbox Code Playgroud)

r flextable

3
推荐指数
1
解决办法
1728
查看次数

如何使用 dplyr 行和列位置进行触发器

使用 function 获得的 flextable 函数的输出as_grouped_data()

df = structure(list(variable = c("something", NA, NA, NA), var = c(NA, "(Intercept)", "mutate1", "variable"), estimate = c(NA, 3.64770410229416, -0.230158472032055, -0.000692974348090823),  std.error = c(NA, 0.88, 0.0831, 0.9315), statistic = c(NA, 0.1933, -0.5458, -0.613), df = c(NA, 67.03, 53.27, 58.285), p.value = c(NA, "<0.001", "0.80", "0.87")), row.names = c(NA, 4L), class = c("grouped_data", "data.frame"))
Run Code Online (Sandbox Code Playgroud)

这给出了类似的东西:

   variable         var      estimate std.error statistic     df p.value
1 something        <NA>            NA        NA        NA     NA    <NA>
2      <NA> (Intercept)  3.6477041023    0.8800 …
Run Code Online (Sandbox Code Playgroud)

r flextable dplyr

2
推荐指数
1
解决办法
212
查看次数