Возможно ли использовать PCTSUM в PROC TABULATE для расчета того, какой процент подгруппы (или даже подгруппы) занимает по сравнению с общей группой? Вероятно, лучше всего привести пример.Как использовать PROC TABULATE в SAS для вычисления процента подгруппы по сравнению с основной группой?
Вот пример набора данных:
data sample;
input make $ model $ owned rented;
datalines;
Toyota Corolla 400 224
Toyota Camry 750 700
Honda Civic 650 519
Honda Accord 225 203
;
Я знаю следующее PROC Tabulate линия даст мне какой процент автомобилей арендуют сделать
proc tabulate data=sample;
class make model;
var owned rented;
table (make='Vehicle Make' all), owned='Total Owned'*sum rented='Rented'*(sum='Total Rented' pctsum<owned>='Pct Rented');
run;
Как так:
Veh Make TotOwned TotRent PctRent
Honda 875 722 82.51%
Toyota 1150 924 80.35%
All 2025 1646 81.28%
Но разве можно сломать эту модель, чтобы она сообщила нам не какой процент от аренды Civics (519/650 = 79,8%), но какой процент от всех Hondas снимается Civics (519/875 = 59,3%)?
Как написать PROC Tabulate линию так, что он показывает мне это:
Veh Make VehModel TotOwned TotRent PctRent
Honda Accord 225 203 23.20%
Civic 650 519 59.31%
All 875 722 82.51%
Toyota Camry 750 700 60.87%
Corolla 400 224 19.48%
All 1150 924 80.35%
All 2025 1646 81.28%
Следует отметить, что 23,2% и 59,31% моделей Honda Всего до 82,51% от итога Honda.
Спасибо за любую помощь, которую вы можете предоставить.
Спасибо за ваш ответ. Это действительно решает проблему в PROC TABULATE, как я спросил. Это может быть не идеально для более сложного проекта, над которым я работаю, но это именно то, о чем я просил. Возможно, мне придется использовать PROC REPORT, чтобы получить что-то более сложное. – user3930756