Я пытаюсь манипулировать условной строкой, выведенной из SAS, в правильном формате для условного оператора в R. Вот пример условной строки, выведенной из SAS:
. < var1_a<=80 and var2_a>50.8
Я написал функцию, которая обрабатывает некоторые необходимые преобразования:
conditonalsub <- function(x) {
subnew <- gsub("<=", " <= ", x)
subnew <- gsub(">=", " >= ", subnew)
subnew <- gsub(">", " > ", subnew)
subnew <- gsub("and", "&", subnew)
subnew <- gsub("\\.\\s", "NA ", subnew)
return(subnew)
, которая производит следующую строку:
NA < var1_a <= 80 & var2_a > 50.8
Я использую эти условные операторы для поднабора наблюдений фрейма данных. Поэтому в этом примере я хочу, чтобы R выбрал все наблюдения со значениями var1_a, которые либо отсутствуют, либо меньше или равны 80, И имеют var2_a больше 50,8. Как я могу изменить вышеуказанную функцию, чтобы получить условный оператор, который может принимать пропущенные значения, такие как часть var1_a условного оператора выше? Я предполагаю, что формат нового условного оператора будет выглядеть примерно так?
(var1_a == NA | var1_a <= 80) & (var2_a > 50.8)