在 R 中,我使用 Min 和 Max 来查找给定向量的最小值和最大值。
该向量是计算和过滤的结果,通常可能是 NULL 或空列表。
在这种情况下,我们会收到如下警告:
警告消息:在 max(el) 中:max 没有非缺失参数;返回-Inf
如果您在一个循环(或层)内为多个输入执行此操作,您将开始遇到大量警告
Inf 的默认值不适合我的目的,而是希望返回 0 或其他一些值。
现在,除了每次使用 if..else 条件检查输入是否有效之外,还有什么方法可以在输入为空的情况下为这些 Min、Max 方法规定默认返回值。
- 例如,如果您使用 na.rm=TRUE,那么如果在删除 NA 后输入变为空,则很难预先检查输入。
- 另一种情况是 min(which())。首先检查 which() 的返回值,然后有条件地提供给 min() 并不是我真正想要的。
此外,对 Min、Max 结果进行后处理以手动删除/替换 Inf 与我自己的值并不是真正有效的方法。
那么,是否有任何有效的方法要求 R 从 Min、Max 为空向量返回我自己的自定义默认值,而不是 +Inf 和 -Inf ?
使用 if..else 检查的预处理和使用 Inf 替换的后处理并不那么优雅。
如果围绕 Min 编写自定义包装器,Max 是唯一的方法,你会建议如何在不影响速度或优雅的情况下编写它?