Usando ifelse em R
Eu estou tentando codificar a seguinte declaração em R comif
eifelse
Os 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?