У меня есть 3 столбца Флаг, Оценка, Сцена .
Флаг будет иметь значения 1 или 0, Оценка будет иметь любые значения выше 0. Нам нужно рассчитать значения этапа.
поэтому наши данные (stagedata) будут выглядеть следующим образом:
Flag Score Stage
1 35
1 0
0 12
....
IF Flag == 1 и счет> = 30, мы вычисляем этап как 2,
, и еслиФлаг == 0 или Флаг == 1 и оценка <30, стадия = 1. </p>
Любая другая стадия случая будет рассчитываться как 0 (т. Е. Из-за некоторой ошибки при вводе или если оценка или флаг отсутствуют),
stagedata$Stage <- ifelse(stagedata$Flag==1,ifelse((stagedata$Score>=30),2,1),ifelse(stagedata$Flag==0,1,0))
stagedata$Stage[is.na(stagedata$Stage)] <-0
Есть ли более эффективный способ сделать это, используя любую другую функцию, например apply?Данные, с которыми мы имеем дело, имеют порядок десяти тысяч