2013-07-17 3 views
0

Я знаю, что я могу использовать команду KEYLABEL в PROC Tabulate указать пользовательские метки для имен статистики, то есть:Изменить Статистика Этикетки в PROC СРЕДСТВАМИ (как KEYLABEL в PROC Tabulate)

KEYLABEL N = «» ALL = " Итого «PCTN =« Процент »SUM =« Итого »;

Он не работает с PROC MEANS. Есть ли эквивалентная команда? Могу ли я использовать обходной путь для этого? Я запускаю программу SAS и автоматически генерирую маркер Latex из этого, поэтому мне нужно изменить имена столбцов N, SUM, MEAN, MEDIAN, MIN, MAX, сообщенных в команде PROC MEANS, если это возможно.

Спасибо.

+1

Если вы не получили здесь хорошего ответа, я настоятельно рекомендую просить SAS Listserv ([email protected]). Один из пользователей высококвалифицирован на выходе * tex и, возможно, столкнулся с этим в прошлом. Я посмотрю на документы SUGI, которые он написал, и посмотреть, помогает ли им какая-либо из них. – Joe

ответ

1

Я не думаю, что вы можете изменить автоматические метки переменных в PROC MEANS на что-то обычное, к сожалению. Вы можете присвоить переменную:

proc means data=sashelp.class; 
var age; 
label age="Child's Age"; 
class name; 
output out=classmean sum=; 
run; 

Вы можете использовать AutoLabel для автоматического добавления (по умолчанию) метки:

proc means data=sashelp.class; 
var age; 
label age="Child's Age"; 
class name; 
output out=classmean sum= n= /autoname autolabel; 
run; 

Но я не думаю, что вы можете контролировать его дальше, чем это. Самое простое решение, которое я могу себе представить, это написать макрос, чтобы сделать это, используя PROC DATASETS [взяв известные имена переменных и присвоив им метки на основе этих имен]. Я не знаю, что вам нужно сделать, но это не так сложно сделать. Что-то вроде этого (в частности, proc sql будет значительно отличаться в зависимости от вашей программы).

%macro relabel(var=); 
label &var._n = "&var. Count"; 
*... more of these ...; 
%mend relabel; 

proc sql; 
select cats('%relabel(var=',name,')') into :rellist separated by ' ' 
    from dictionary.columns 
    where memname='MYDATASET' and libname='WORK' and *criteria to determine in proc means*; 
quit; 
proc datasets; 
&rellist. 
quit; 
Смежные вопросы