I am trying to create a new character vector in R based on the input value present in 'operator' character vector. The operator variable contains values like ">", "<" "" and NULL. I need to create a new vector like operator_id which has equivalent numeric code for the above mathematical operators. Please find the code that I wrote using for loop. However this is very time consuming and is there any other efficient way of writing this code?
for (ch in operator){
if (ch == ""){
#print("hi")
operator_concept_id = append(operator_concept_id, 4172703L)
value_as_concept_id = append(value_as_concept_id, 45884084L)
} else if (ch == ">"){
#print("hello")
operator_concept_id = append(operator_concept_id, 4172704L)
value_as_concept_id = append(value_as_concept_id, 45876384L)
} else if (ch == "<"){
#print("less")
operator_concept_id = append(operator_concept_id, 4171756L)
value_as_concept_id = append(value_as_concept_id, 45881666L)
}
else if(ch== "-"){
#print("negative")
operator_concept_id = append(operator_concept_id, 4172703L)
value_as_concept_id = append(value_as_concept_id, 45878583L)
} else{
#print("nothing")
operator_concept_id = append(operator_concept_id, 0L)
value_as_concept_id = append(value_as_concept_id, 45881630L)
}
}