在R中创建函数边界

时间:2019-02-22 14:08:05

标签: r

我正在尝试在R中编写一个带有几个边界的函数。我的主要障碍是编写一个带有“两端”的边界,其中我的变量“ x”大于“第一个边界”且小于“第二个边界”

我得到一个错误,我相信这与边界的语法有关。 有谁知道应该怎么写?

这是我在R中的尝试:

func_Q2 <- function(x)
    if (-1 <= x < 0)  {x + 1}  # first parameter   ,the " < 0" does not work
    if (0 <= x < 1) {-x + 1}   # seccond parameter ,the " < 1" does not work
    else {0}

我要写到R中的函数

The function i am trying to write into R

2 个答案:

答案 0 :(得分:2)

在基数R中,a < b < c是不可能的,您必须做a < b & b < c

func_Q2 <- function(x){
  if (-1 <= x & x < 0) {x + 1}
  if (0 <= x & x < 1) {-x + 1}
  else {0}
}
func_Q2(-2)
> 0
func_Q2(-0.5)
> 0
func_Q2(0.5)
> 0.5

警告,您的第一个if不执行任何操作,它永远不会返回。也许第二个ifelse if

答案 1 :(得分:0)

我认为这可以抓住您的意图:

func_Q2 <- function(x){
  if (x < -1 || x >= 1) {
    0
  } else {
    1 - abs(x)
  }
}