Usando ifelse em R

Eu estou tentando codificar a seguinte declaração em R comif eifelseOs dados da amostra são trial e x, ye z são colunas de teste).

Declarações a serem codificadas

if (x>0) {
      if (y>0) {
          l=2
       }else{
           l=5
       }
      if (z>0) {
          m=l+2
       }else{
           m=5
       }
}

O código R usando ifelse

trial$l<-with(trial, ifelse((x>0 &y>0),2,ifelse((x>0 &y<=0),5,???)))
trial$m<-with (trial,ifelse((x>0 &z>0),l+2,ifelse((x>0 &z<=0),5,???)))

Onde,??? especifica que não há valores de acordo com a declaração acima. Em outras palavras parax<0 and y não há valores.

Em seguida, uso combinação de if e ifelse para ver se funciona:

if(trial$z>0){
    trial$l<-with(trial, ifelse(y>0,2,5))
    trial$m<-with(trial, ifelse(z>0,l+2,5))
}

Este código está ok, mas há uma mensagem de aviso (desdez é um vetor de coluna)

In if (trial$z>0){
the condition has length>1 and only the first element will be used

Eu quero focar apenas em usarifelse já que estou lidando apenas com vetores. Mas não tenho sorte a esse respeito. Qualquer ideia?

questionAnswers(2)

yourAnswerToTheQuestion