сначала создайте таблицу с базовым значением для каждого предмета следующим образом:
proc sql;
create table baseline as
select distinct subject, value
from t1
where visit = 'Baseline'
;
, а затем дополните основную таблицу базовым значением. Обратите внимание, что объединение используется, если для субъекта нет базовой записи:
proc sql;
create table inter as
select t1.*m, coalesce(b.value, 0) as b_val
from t1 left join baseline b
on t1.subject = b.subject
;
quit;
, наконец, рассчитайте средние значения для базовой линии и посещений следующим образом:
proc sql;
select visit, mean(b_val) as BaselineMean, mean(value) as visitMean
from inter
group by visit
;
quit;