Создание границ функций в R - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь написать функцию с несколькими границами в 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 голосов
/ 22 февраля 2019

Я думаю, что это отражает ваши намерения:

func_Q2 <- function(x){
  if (x < -1 || x >= 1) {
    0
  } else {
    1 - abs(x)
  }
}
0 голосов
/ 22 февраля 2019

В базе 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 ничего не делает, он никогда не возвращается.Может быть, второй if это else if

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...