-1

我有一个 Flextabledf和以下条件:

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"如果条件不满足,我不希望它们转动。

有人对我如何解决这个问题有任何提示吗?

4

1 回答 1

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
于 2016-01-02T20:32:26.523 回答