如何为空输入(而不是默认的+ Inf和-Inf)为R中的Max,Min指定自定义返回值?

Gopalakrishna肤色

在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编写自定义包装器是唯一的方法,您如何建议在不牺牲速度或优雅的情况下编写它呢?

坦率

好吧,它可能并不优雅,但这似乎可行:

mymax <- function(...,def='hello world',na.rm=FALSE)
    if(!is.infinite(x<-suppressWarnings(max(...,na.rm=na.rm)))) x else def

mymax() # 'hello world'
mymax(def=2) # 2
mymax(c(),NULL,def=2) # 2

mymax(c(),NA) # NA
mymax(1,c(NA,3),na.rm=TRUE) # 1

而且并不慢...

require(microbenchmark)
test <- rnorm(1e5)
microbenchmark(
    max=max(test),
    mymax=mymax(test)
)

# Unit: milliseconds
#   expr      min       lq   median       uq      max neval
#    max 1.135445 1.141384 1.143814 1.162171 1.689940   100
#  mymax 1.119248 1.123297 1.147054 1.190517 1.660244   100

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何为空输入(而不是默认的+ Inf和-Inf)为R中的Max,Min指定自定义返回值?

来自分类Dev

区分“ inf”和“ -inf”

来自分类Dev

区分“ inf”和“ -inf”

来自分类Dev

如何修复 numpy log inf 值和 RuntimeWarning

来自分类Dev

如何处理NaN,Na和Inf以计算R中的均值?+在测量社区检测指标之后

来自分类Dev

用玩笑和酶嘲笑自定义Hook会导致“ xxx不是函数或返回值不可迭代”错误

来自分类Dev

Git和Web-inf

来自分类Dev

Git和Web-inf

来自分类Dev

如何在Visual Studio 2012应用程序中包括.cat和.inf文件

来自分类Dev

Inno Setup从文件(.inf)加载自定义安装设置的默认值以进行静默安装

来自分类Dev

在Lua中,#INF和#IND是什么?

来自分类Dev

自定义按钮和目标返回值

来自分类Dev

带和不带自定义循环的Keras中的回归自定义损失返回值

来自分类Dev

R:如何让gamma()返回实际数字而不是Inf

来自分类Dev

矩阵的本征和得出NaN和-inf值

来自分类Dev

矩阵的本征和得出NaN和-inf值

来自分类Dev

Java Web应用程序中的META-INF和WEB-INF中的INF是什么?

来自分类Dev

如何使用自定义辅助方法的返回值

来自分类Dev

如何在R中的绘图中显示INF值?

来自分类Dev

电子中如何为每个请求发送自定义标头和值?

来自分类Dev

如何在 Django 中为 TemplateView 和 APIView 编写自定义异常,它将为请求返回自定义错误

来自分类Dev

如何在D3中为树布局指定自定义子级和父级属性

来自分类Dev

如何在neo4jclient中以自定义类型返回值

来自分类Dev

如何在networkx中绘制inf值?

来自分类Dev

如何在 Windows 10 上通过自定义 inf 文件安装 WinUSB 驱动程序?

来自分类Dev

为什么在Python中没有Inf,-Inf和NaN关键字?

来自分类Dev

如何在Wix中为输入的用户名和密码创建自定义UI?

来自分类Dev

如何为输入字段添加默认值

来自分类Dev

如何为输入字段设置默认但可更改的值?

Related 相关文章

  1. 1

    如何为空输入(而不是默认的+ Inf和-Inf)为R中的Max,Min指定自定义返回值?

  2. 2

    区分“ inf”和“ -inf”

  3. 3

    区分“ inf”和“ -inf”

  4. 4

    如何修复 numpy log inf 值和 RuntimeWarning

  5. 5

    如何处理NaN,Na和Inf以计算R中的均值?+在测量社区检测指标之后

  6. 6

    用玩笑和酶嘲笑自定义Hook会导致“ xxx不是函数或返回值不可迭代”错误

  7. 7

    Git和Web-inf

  8. 8

    Git和Web-inf

  9. 9

    如何在Visual Studio 2012应用程序中包括.cat和.inf文件

  10. 10

    Inno Setup从文件(.inf)加载自定义安装设置的默认值以进行静默安装

  11. 11

    在Lua中,#INF和#IND是什么?

  12. 12

    自定义按钮和目标返回值

  13. 13

    带和不带自定义循环的Keras中的回归自定义损失返回值

  14. 14

    R:如何让gamma()返回实际数字而不是Inf

  15. 15

    矩阵的本征和得出NaN和-inf值

  16. 16

    矩阵的本征和得出NaN和-inf值

  17. 17

    Java Web应用程序中的META-INF和WEB-INF中的INF是什么?

  18. 18

    如何使用自定义辅助方法的返回值

  19. 19

    如何在R中的绘图中显示INF值?

  20. 20

    电子中如何为每个请求发送自定义标头和值?

  21. 21

    如何在 Django 中为 TemplateView 和 APIView 编写自定义异常,它将为请求返回自定义错误

  22. 22

    如何在D3中为树布局指定自定义子级和父级属性

  23. 23

    如何在neo4jclient中以自定义类型返回值

  24. 24

    如何在networkx中绘制inf值?

  25. 25

    如何在 Windows 10 上通过自定义 inf 文件安装 WinUSB 驱动程序?

  26. 26

    为什么在Python中没有Inf,-Inf和NaN关键字?

  27. 27

    如何在Wix中为输入的用户名和密码创建自定义UI?

  28. 28

    如何为输入字段添加默认值

  29. 29

    如何为输入字段设置默认但可更改的值?

热门标签

归档