簡體   English   中英

在 R 中的 Function 中使用 Flextable

[英]Using Flextable in a Function in R

我正在嘗試在 R markdown 中創建一個 function 用於條件格式,同時使用 flextable ZEFE90A8E604A7C84A7D86 我正在嘗試根據比較兩列的條件對行進行顏色格式化。


library(flextable)
library(dplyr)
cndnl_form <- function(data,mv1,ov1)

{
ft <- flextable({{data}})

ft <- color(ft, i = ~ ({{mv1}}- {{ov1}}/ abs({{mv1}}) > 0.25),
j = {{ov1}},
color="blue")

}

cndnl_form(df,"ft$3","ft$10")


但我在總結過程中收到錯誤錯誤:未找到 object 'mv1'

任何想法,我應該改變什么?

我不確定 tidy eval 在這種情況下是否有效。

但是,由於flextable允許公式規范,您可以將條件設置為公式字符串,然后可以將其轉換為公式。

使用mtcars作為簡單條件mv1 > 20的示例數據,試試這個:

library(flextable)

cndnl_form <- function(data, mv1, ov1)
{
  ft <- flextable({{data}})

  #cond <- paste("~", "(", mv1, "-", ov1, ")", "/", "abs(", mv1, ") > 0.25")

  cond <- paste("~", mv1, "> 20")
  color(ft, i = as.formula(cond), j = as.formula(paste("~", ov1)), color="blue")
}

ft <- cndnl_form(head(mtcars), "mpg", "gear")

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM