[英]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.