我有一个Flextable df
并且具有以下条件:
df = setFlexTableBackgroundColors(df, i = 1, j = 5:15,
colors = ifelse(test$object == 0,"white"))
但是它给了我以下错误消息:
Error in ifelse(test$object == 0, "white") :
argument "no" is missing, with no default"
显然这个软件包需要这样的东西:ifelse(test$object == 0, "white", "black")
,因为那时条件正常。
但是我在不同颜色(j = 5:15)的行上使用此条件,如果条件不满足,我不希望它们转为"black"
。
有人有任何提示我如何解决这个问题?
答案 0 :(得分:0)
您应该为函数提供它期望的默认参数。在这种特殊情况下,您可以这样做:
df = setFlexTableBackgroundColors(df, i = 1, j = 5:15,
colors = ifelse(test$object == 0,"white","gray"))
在更一般的情况下,可以使用formals()获取默认值:
defaultColors = formals(setFlexTableBackgroundColors)$colors
df = setFlexTableBackgroundColors(df, i = 1, j = 5:15,
colors = ifelse(test$object == 0,"white",defaultColors))
例如:
ff <- function(x, y=5, z=7) {}
formals(ff)$y # Returns 5