извините, если это лишнее в другом посте, но не смог найти ответ при поиске.
У меня есть длинный список лекарств, и некоторые лекарства имеют несколько доз, например:
Medication A 3 mg tablet
Medication A 5 mg tablet
Medication B 3 mg tablet
Medication B 5 mg tablet
Я пытался написать код SAS для создания третьей переменной (newmed), которая будет присваивать новое имя каждому лекарству без дозы (например, все дозы лекарства A будут называться MedA, все дозы лекарства B будут называться MedB). Вот мой код:
data medsorted;
SET library.meds;
if DISCHARGE_MEDICATION_NAME="med1_7.5_mg_tablet" THEN newmed= "med1";
if DISCHARGE_MEDICATION_NAME="med1_6_mg_tablet" THEN newmed= "med1";
if DISCHARGE_MEDICATION_NAME="med2_100_mg/ml_subcutaneous_syringe" THEN newmed= "med2";
if DISCHARGE_MEDICATION_NAME="med2_120_mg/ml_subcutaneous_syringe" THEN newmed = "med2";
/*etc - the list of med goes on*/
run;
Я также попробовал это, используя операторы «или», повторяя новое имя лекарства по всему списку операторов if. В любом случае программа запускается, но новый набор данных medsorted не содержит записей в столбце newmed — он пуст.
Что я делаю не так?
Спасибо!
DISCHARGE_MEDICATION_NAME
. Можете ли вы опубликовать фактические значения этой переменной? - person DomPazz   schedule 19.03.2015if lowcase(VAR) = 'lower case name' then ...
. - person pteranodon   schedule 19.03.2015