【发布时间】:2017-09-27 10:55:52
【问题描述】:
-
所以我想创建一个以数值向量作为参数的函数,并获取最大值和最小值并计算两者之间的差异。到目前为止,我已经到了这一点:
v <- as.numeric() minmax <- function(v){max(v)-min(v)} minmax (v)
该函数有效,但我确信在 R 中有更方便的方法来编写它
-
我想添加一个名为 noNAs 的第二个参数,它定义了函数如何处理其向量缺失值 (NAs),我想拥有它,因此当 noNAs=TRUE 时,它会计算 max 和 min 之间的差异而不包括 NA价值观。我知道有一种方法可以用 na.rm 来实现,但我不知道怎么做。我是这样想的,但它似乎不起作用:
minmax <- function(v,noNAs=T){max(v)-min(v){na.rm=TRUE}}
【问题讨论】:
-
您想要实现的目标可以通过
diff(range(x))完成。对于第二个问题:这是几乎所有入门级 R 教程中都涵盖的基本内容,这是提出此类问题的错误网站。 -
这应该适用于第二个问题
minmax <- function(v,noNAs=T){max(v,na.rm = noNAs)-min(v,na.rm = noNAs)} -
好吧,很抱歉我找不到我正在寻找的代码的示例或没有类似的代码。我敢肯定有办法阻止我未来的 cmets 如果它让你如此困扰! Niek:感谢您的帮助,显然我非常接近正确答案,但我无法弄清楚如何将 na.rm 推到线路上。