Usando ifelse en R

Estoy tratando de codificar la siguiente declaración en R conif yifelse.Los datos de muestra son de prueba y x, y, y z son columnas de prueba).

Declaraciones a codificar

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

El 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,???)))

dónde,??? Especifica que no hay valores de acuerdo con la declaración anterior. En otras palabras parax<0 and y no hay valores

A continuación, uso la combinación de if y ifelse para ver que 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á bien, pero hay un mensaje de advertencia (ya quez es un vector de columna)

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

Quiero centrarme solo en usarifelse ya que estoy tratando con solo vector. Pero, no tengo suerte en este sentido. ¿Alguna idea?

Respuestas a la pregunta(2)

Su respuesta a la pregunta