2014-03-27 6 views
0

Я хочу, чтобы создать таблицу, как показано ниже от proc freq или proc tabulate или что-то подобное из моего набора данных, где у меня есть три переменные: andel (доли), Aar (год) и Gruppe (группа) ,SAS суммируют третью переменную в PROC FREQ

В моем наборе данных у меня около 500 тысяч наблюдений, где 1 наблюдение представляет собой человека.

Как создать таблицу без необходимости прокладывать себе путь через множество наборов данных?

Я попытался:

proc freq data= data; 
Tables Aar*gruppe*andel/nopercent norow nocol nocum ; 
run; 

и

proc tabulate data= data missing; 
class gruppe aar andel ; 
Table aar*gruppe*andel , all/ rts=180; 
run; 

Но ни одна из этих работ - и это потому, что я хочу, акции (переменная andel) будут подведены и не учитываются для каждой группы gruppe и год aar. И я НЕ хочу таблицу за каждый год (6 таблиц) суммированного andel за каждые gruppe.

enter image description here

ответ

1

Proc Tabulate, вероятно, правильное место, чтобы пойти. Он имеет концепцию class по сравнению с var. Class - это что-то, что можно сгруппировать; var что-то делать вычисления на (сумма, среднее и т.д.)

proc tabulate data= data missing; 
class gruppe aar ; 
var andel; 
Table gruppe,aar*andel*sum/ rts=180; 
run; 

Что-то вроде этого должно быть отправной точкой. Comma отделяет строку от столбца от таблицы; rightmost - столбец, второй справа - строка, третий справа - страница (крайняя слева). Звезда объединяет элементы; здесь, это говорит

Create a table where rows are groups and columns are years, and for each year/group combination, display the sum of shares.

The * Андел * сумма может идти либо после Gruppe или после того, как AAR, он в значительной степени не имеет значения (есть несколько раз это может сделать разницу, и традиционно она помещается после переменного столбца когда это не имеет значения, но в этом случае оно будет одинаковым), за исключением того, где находится метка, которая указывает, что представляет собой аналитическая переменная (если вы хотите ее - вы можете ее удалить).

+0

HiThanks для вашего sugestion. Я пробовал ваш код, но SAS дал мне эту ошибку: ERROR: Тип имени (andel) неизвестен. AFterwards я добавил «andel» в инструкции класса, а затем SAS дал мне эту ошибку: ОШИБКА: Статистическая информация, отличная от N, была запрошена без переменной анализа в следующем вложенности: gruppe * aar * andel * Sum. Я еще не так хорошо разбираюсь в журнале - любые предложения? – user1626092

+0

HALLELUJA - теперь он работает. Синтаксис: proc tabulate data = данные отсутствуют; var andel; класс gruppe aar; Таблица gruppe, aar * andel/rts = 180; run; – user1626092

+1

А, да. Я пропустил заявление VAR, извините! – Joe

Смежные вопросы