【问题标题】:Apply Conditional Text Modifications Through a List of FlexTables通过 FlexTable 列表应用条件文本修改
【发布时间】:2020-10-27 19:17:40
【问题描述】:

我有一个包含 5 个不同列的 32 个弹性表的列表。我想根据条件将颜色和粗体功能应用于 2 个单独的列。

我的做法如下:

###Create a function that takes an input x (the flextable) and an input y (the values that will be conditioned on
f <- function(x,y){
    x <- color( x,i = y <= 0.05, j=4,color="red")
    x <- bold( x, i = y <= .05, j=4)
    x

我按如下方式创建 y 值。 tablerep 包含 32 个数据框的列表,我要调整的列是第 4 列:

  highlight <- lapply(tablerep,function(i) sprintf('%.3f',as.numeric(as.character(unlist(i[4])))))

然后我使用 mapply 函数根据条件值 y 将该函数应用于弹性表 x 的列表:

MyFT <- mapply(f,MyFT,highlight)

由于某种原因,我的输出如下所示:

> MyFT
           [,1]        [,2]        [,3]        [,4]        [,5]        [,6]        [,7]        [,8]        [,9]       
header     List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8     
body       List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8     
footer     List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8      List,8     
col_keys   Character,5 Character,5 Character,5 Character,5 Character,5 Character,5 Character,5 Character,5 Character,5
caption    List,2      List,2      List,2      List,2      List,2      List,2      List,2      List,2      List,2     
blanks     Character,0 Character,0 Character,0 Character,0 Character,0 Character,0 Character,0 Character,0 Character,0
properties List,2      List,2      List,2      List,2      List,2      List,2      List,2      List,2      List,2     
           [,10]       [,11]       [,12]       [,13]       [,14]       [,15]       [,16]       [,17]       [,18] 

而不是弹性表列表。谁能提供关于为什么会这样的见解?

【问题讨论】:

    标签: r mapply flextable officer


    【解决方案1】:

    这是关于 mapply 将结果简化为矩阵,因为参数 SIMPLIFY 的默认值为 TRUE。要停止这种情况并获取列表,请使用:

    MyFT <- mapply(f,MyFT,highlight, SIMPLIFY = FALSE)
    

    【讨论】:

      猜你喜欢
      • 2019-10-22
      • 1970-01-01
      • 2016-01-08
      • 1970-01-01
      • 2014-02-28
      • 1970-01-01
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多