Base solution:
X <- c(-1.58, 2.7, -0.9)
Y <- c(2.61, -5.3, -0.51)
temporary_function <- function(p, q)
{
if ((p > 1) & (q > 1))
{
(p + q)
} else if ((p > 1) & (q < 1))
{
280
} else if ((p < 1) & (q > 1))
{
(p - q)
} else
{
0
}
}
mapply(FUN = temporary_function, X, Y)
#> [1] -4.19 280.00 0.00
purrr amd dplyr solution
X <- c(-1.58, 2.7, -0.9)
Y <- c(2.61, -5.3, -0.51)
purrr::map2_dbl(.x = X,
.y = Y,
.f = ~ dplyr::case_when(((.x > 1) & (.y > 1)) ~ (.x + .y),
((.x > 1) & (.y < 1)) ~ 280,
((.x < 1) & (.y > 1)) ~ (.x - .y),
((.x < 1) & (.y < 1)) ~ 0))
#> [1] -4.19 280.00 0.00