NoneSas proc tabulate (freq)

У меня следующий вопрос:

Некоторые примеры данных:

data;
input id article sex count;
datalines;
1 139 1 2
2 139 2 2
3 146 2 1
4 146 2 2
5 146 1 0
6 111 2 10
6 111 1 1
;
run;

Теперь у меня есть этот код:

proc tabulate;
freq count;
class article sex;
table article, sex /misstext='0';
run;

Есть ли разница по сравнению со следующим кодом?

proc tabulate;
var count;
class article sex;
table article, sex*count;
run;

Или это точно делает то же самое? Какой из них рекомендуется?

1 ответ

Решение

Обратите внимание на результат, полученный в результате выполнения двух tabulate вариации.

Для набора данных результаты одинаковы, представлены по-разному.

  • Первый имеет клетки класса пола, которые имеют неявную частоту (N) вычисление count взвешенный, также неявно отформатированный как целое число. Подразумевается поведение по умолчанию при отсутствии других операторов и опций.
  • Второй имеет ячейки полового класса, которые являются вычисленной суммой count, отформатированный по умолчанию 2 десятичных знака.

Если набор данных имел дополнительные var переменные, используемые в table статистические вычисления, которые необходимо выполнить, и роль взвешивания будут зависеть от характера презентации, которую вы делаете, и аудитории, которая ее использует. Вы можете хотеть или не хотеть 'подсчитывать' взвешивание частоты, влияющее на статистические вычисления.

Спросите 5 человек за рекомендацию, вы можете получить 6!

Из онлайн-документации, сравните детали FREQ заявление в WEIGHT заявление:

Переменная FREQ;

Обязательный аргумент

переменная

  • указывает числовую переменную, значение которой представляет частоту наблюдения. Если вы используете оператор FREQ, то процедура предполагает, что каждое наблюдение представляет n наблюдений, где n - значение переменной. Если n не является целым числом, то SAS его усекает. Если n меньше 1 или отсутствует, то процедура не использует это наблюдение для вычисления статистики.
  • Сумма частотной переменной представляет собой общее количество наблюдений.

а также

Переменная веса;

Обязательный аргумент

переменная

  • определяет числовую переменную, значения которой взвешивают значения переменных анализа. Значения переменной не обязательно должны быть целыми числами. PROC TABULATE реагирует на значения веса в соответствии со следующей таблицей.
    0: Считает наблюдение в общем количестве наблюдений
  • <0: Преобразование значения в ноль и подсчет наблюдений в общем количестве наблюдений
  • .missing: Исключает наблюдение

Чтобы исключить наблюдения, которые содержат отрицательные и нулевые веса из анализа, используйте EXCLNPWGT. Обратите внимание, что большинство процедур SAS/STAT, таких как PROC GLM, по умолчанию исключают отрицательные и нулевые веса.

Примечание: до версии 7 SAS процедура не исключала наблюдения с недостающими весами из числа наблюдений.

ограничения

  • Чтобы вычислить взвешенные квантили, используйте QMETHOD=OS в операторе PROC.
  • PROC TABULATE не будет вычислять MODE, когда активна переменная веса. Вместо этого попробуйте использовать PROC UNIVARIATE, когда нужно вычислить MODE и активна переменная веса.

взаимодействие

  • Если вы используете опцию WEIGHT= в операторе VAR для указания переменной веса, то вместо этого PROC TABULATE использует эту переменную для взвешивания этих переменных оператора VAR.

Чаевые

  • Когда вы используете оператор WEIGHT, подумайте, какое значение параметра VARDEF= подходит. См. Обсуждение VARDEF= делитель и вычисление взвешенной статистики в разделе "Ключевые слова и формулы" этого документа.
Другие вопросы по тегам