【发布时间】:2021-10-10 21:53:02
【问题描述】:
如果我理解,rlang::quo_is_missing 会评估一个 quosure 并检查它是否包含缺失值。如果是,它应该返回 TRUE,否则返回 FALSE。然而,我尝试了以下组合,它总是返回 FALSE:
rlang::quo_is_missing(quo(NA))
rlang::quo_is_missing(quo(NA_character_))
rlang::quo_is_missing(quo(NA_integer_))
如果我尝试非 NA 值,它也会按预期返回 FALSE:
rlang::quo_is_missing(quo("hello"))
为什么值明显缺失时返回 FALSE?
【问题讨论】:
-
quo_is_missing 不检查 NA,它检查包含缺失参数的 quosures。请参阅rlang.r-lib.org/reference/quosure.html 中的示例。
-
是的,但是我作为参数提供的 quosure (quo(NA)) 包含 NA。