I have the following statement:
if(Estatu== "INF"){
MIN <- 5
} else if (length(Estatu)==0) {
MIN <- 0
}
It’s very simple, but Estatu sometimes has INF and other times it’s an empty value (character 0).
I have two problems:
-
When the value is
character(0), it indicates the following error:Error in if (Estatu== "INF") { : argument has zero lengthI would like it not to give me an error because I have already put below that the value can be zero length.
-
When the declaration is repeated and the value is "0" instead of putting the value
0inMIN, the data of the declaration that has been executed before remains inMIN. I put in MIN the previous value, the result of the previous execution of this statement.
What I can do?
Thanks for your help
>Solution :
We can use the length expression as the first one so that it gets evaluated before anything else
Estatu <- character(0)
if(length(Estatu) == 0) 0 else if(Estatu == "INF") 5
[1] 0