Как использовать 4 аргумента для создания функции? - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужно сделать функцию ans (a, b, x, y), которая возвращает значение x, если a = 1 и b = 1, значение y, если a = 1 и b = 0, изначение 0 в противном случае.

Я использую эту команду:

ans<-function(a, b, x, y){ 
ifelse(a= 1 & b= 1, x, a= 1 & b= 0, y, 0)}

Может ли кто-нибудь помочь с этим, пожалуйста.

Спасибо

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Мы могли бы использовать:

  ans<-function(a,b,x,y){
  target<-c(a,b)
  ifelse(target<=0|target>1,0,ifelse(all(target==1),x,y))[1]
 }
 ans(1,0,4,5)
[1] 5

Тест:

     ans(9,0,4,5)
    #[1] 0
0 голосов
/ 27 февраля 2019

Если вы наберете ?ifelse(), варианты будут тестовые, да, нет.В вашем случае у вас есть несколько условий.Так что, возможно, вы хотите что-то похожее на:

ans<-function(a, b, x, y)
{ 
if(a==1 && b==1)
{
print(x)
}
else if (a==1 && b==0)
{
print(y)
}
else {
print(0)
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...