【发布时间】:2020-09-18 00:22:18
【问题描述】:
给定两个值 x 和 b,我想要一个将 x 限制在 [-b, b] 范围内的函数。特别是:
- 如果
x小于等于-b,则函数返回-b; - 如果
x大于-b且小于b,则函数返回x; - 如果
x大于或等于b,则函数返回b。
在 R 中,我编写了以下函数 truncfn。此功能仅部分有效。我在哪里犯错了?有没有更简单的方法来做到这一点?
b <- 5
truncfn <- function(x){
if((x<(-b))||(x==-b)) -b
if((x>(-b))&&(x<b)) x
if((x>b)||(x==b)) b
}
truncfn(10)
5
truncfn(4)
truncfn(-10)
【问题讨论】: