d9e5a92d

Ограничить: условные модификаторы

Все файлы помощи представляют собой специальным образом отформатированные текстовые файлы с расширением ,Ыр,
В Stata имеются собственные обучающие средства мини-уроки (являющиеся, с технической точки зрения, специальным видом программ), доступ к которым обеспечивается командой tutorial. Они дают краткое введение в пакет, в графические и табличные средства Stata, знакомят с данными, поставляемыми вместе со Stata, и способами перевода текстовых файлов в формат Stata, а также освещают ряд основных статистических команд.
См, также: [U] 8 Stata’s on-line help and search facilities, [U] 9 Stata’s on-line tutorials and sample datasets,

Ограничить: условные модификаторы

Многие команды Stata позволяют ограничить свое действие на определенные наблюдения, Делается это е помощью условных модификаторов [if условие] [in диапазон] , Условие, задаемое под if это логическое выражение, в котором могут использоваться операторы отношений (больше), (меньше), = (больше или равно), = (меньше или равно), == (равно, двойной знак использован для того, чтобы не спутать с операцией присвоения), ! = или ~ = (не равно); логические операции (и), | (или), ! или ~ (не), указание на текущее наблюдение _п и на последнее _N, обычные операции и функции, а также скобки для указания приоритета, in указывает диапазон наблюдений вида начало/конец, где в качестве конца диапазона может быть использовано последнее наблюдение, обозначаемое латинской эл( 1) или как 1,
Пропущенное значение (см, ниже описание команды generate, с, 79) тоже может фигурировать как аргумент логической команды. Так, count if х! = . выдаст количество наблюдений, для которых известно значение переменной х.

Загрузить, сохранить, объединить: работа с файлами

Естественно, для того, чтобы данные анализировать, их надо как минимум загрузить в память, Stata обладает достаточно гибкими средствами ввода данных из текстовых файлов (команды infile; infix; insheet; см, также help dictionary и [U] 24 Commands to input data), однако файлы других форматов (Excel, SAS, SPSS, Statistica и 1.11.) необходимо предварительно сохранить в виде текста (с разделением данных запятыми, табуляциями, или в фиксированном формате), либо воспользоваться внешними средствами для конвертации данных, В комплект поставки Professional Stata входит чрезвычайно полезная Windows-утилита StatTransfer ( ), позволяющая преобразовывать данные между двумя десятками различных форматов. Другая похожая по функциональным возможностям программа DBMS/COPY,
Работу с уже имеющимися файлами данных формата Stata можно осуществлять из меню File, а можно и с клавиатуры, use имя файла , [clear]
Загрузить в память указанный файл. Опция use ... , clear показывает, что при этом нужно уничтожить все данные, находящиеся в памяти.

Если размер оперативной памяти (точнее, размер свободной памяти, остающейся после Windows и прочих приложений) не позволяет втиснуть в нее необходимый файл, то можно воспользоваться вариантом use переменные using имя файла [if условие] [in диапазон], выбрав модификаторами только те переменные и/или только те наблюдения, которые нужны для работы. С помощью этого трюка можно проводить "черновой" анализ для задач большого объема, т.е. отработать последовательность команд на некоторой подвыборке, сохранить алгоритм работы с данными в виде do-файла (см. параграф 3.13), а потом оставить на выходные машину считать все то же самое по полной выборке, save имя файла, [replace old]
Сохранить данные из памяти на диск под указанным именем. Опция replace указывает, что файл надо переписать, если он существует. Если нет не беда, он будет создан.

Опция old нужна для сохранения данных из-под Stata 6 в формате Stata 4-5 (т.е. для обмена данными с обладателями Stata более ранних версий). В Stata 7 опция old позволяет записать данные в формате Stata 6. merge список ключевых переменных using имя, файла, [nokeep ]
Добавить данные из указанного файла к данным, находящимся в памяти. Необходима для пополнения данных "вширь", т. е. для добавления переменных.

Необходимо, чтобы в обоих файлах (которые на жаргоне Stata называются master data и using data) имелись ключевые переменные, т. е. переменные, однозначно идентифицирующие наблюдения, а также чтобы файлы были отсортированы по этим переменным, см. [R] sort и ниже команду sort. Некоторые из этих ограничений преодолеваются командой mmerge (Wessie 1999), которую необходимо устанавливать дополнительно (см. раздел 3.17). Опция nokeep указывает, что не надо добавлять наблюдения, которые встречаются только в using data, append using имя, файла,


Добавить данные из указанного файла в длину, т. е. добавить новые наблюдения.
См. также: [U] 25 Commands for combining data

Добавить, выбросить, переименовать: работа с данными

В Stata имеется несколько типов данных. Первый уровень разделения это данные строковые и числовые. Числовые делятся в свою очередь на целые и действительные, а внутри каждого класса есть различия в точности представления; см, [U] data types, help datatypes,
generate [шип] имя переменной = выражение [if условие] [in диапазон]
Создать новую переменную, возможно, указанного типа, и присвоить ей значение выражения. Имя переменной в шестой версии Stata может быть длиной до восьми символов, а в седьмой 32, включать в себя буквы (верхний и нижний регистр различаются), цифры или знак подчеркивания, и должно начинаться с буквы.

В выражение могут входить числа, переменные, фигурировать арифметические операции, функции (математические, статистические, строковые и пр.), логические условия (которые вычисляются как 1 истина и 0 ложь), а также обозначение для пропущенного значения (missing value) точка (.). Stata устроена так, что пропущенное значение равняется плюс бесконечности. Все операции с пропущенным значением будут давать пропущенное значение (кроме логических операций сравнения).

Команда g byte nonmissx=x. создаст новую переменную nonmiss типа byte (т.е. наименьшего возможного размера), которая будет равна 1, если переменная х имеет конечное значение, и 0, если х не определена. Об условиях и диапазонах говорится ниже, в разделе 3.6.

См. также [U] 14 Language syntax, [U] 15 Data, [16] Functions and expressions.
egen [ muni имя переменной = egen-функция(.выражение) [if условие] [in диапазон], [by (идентификатор группы) ]
Более мощная функция для создания новых переменных, позволяющая рассчитывать средние, медианы, минимумы, максимумы, суммы значений и т. п. по всей выборке или по группам, задаваемым переменными-идентификторами. Подробный список поддерживаемых функций и статистик имеется в [R] egen или help egen. хі специальные выражения
хі: команда Stata со специальным,и выражениям,и
Позволяет создать набор бинарных (0/1) переменных из категорийной, или выполнить указанную команду, включив в список переменных создаваемый на ходу набор бинарных переменных. Одна из категорий берется как базовая, и для нее бинарная переменная не создается, т.е. корректно отрабатывается проблема статистической связи между пол?чаемвіми бинарнвіми переменнвіми.

Специалвнвіе ввіражения имеют вид і. категорийная переменная.
recode
Изменяет значения переменной. Актуалвно для перекодировки значений категорийной переменной или для соединения несколвких категорий в одну, replace имя переменной = выражение [if условие] [in диапазон]
Заменитв значения уже существующей переменной. rename имя переменной новое имя
Переименоватв переменную, drop if условие I in диапазон
Удалитв наблюдения, удовлетворяющие указанным условиям, drop переменные
Удалитв указанные переменные, list іпеременныеі [if условие] [in диапазон]
Вывести значения указанных переменных (если не указано ничего, то всех) для наблюдений, удовлетворяющих указанным условиям (если никаких условий не указано, то вывести все наблюдения), edit іпеременныеі [if условие] [in диапазон]
Вручную редактироватв указанные переменные для указанных наблюдений. Stata предоставляет для этой цели что-то вроде примитивных электронных таблиц. Ис-полвзоватв подобный режим для внесения изменений в данные не рекомендуется в целях обеспечения воспроизводимости резулвтатов. browse [ переменные] [if условие] [in диапазон]
Просмотретв значения указанных переменных для указанных наблюдений. То же, что и edit, толвко изменятв ничего нелвзя.
aorder
Отсортироватв переменные по алфавиту, sort переменные gsort +1 - переменная ...
Отсортироватв данные по указанным переменным, compress [ переменные]
Привести переменные (если не указано, какие, то все) к минималвно возможному типу, снижая тем самым объем памяти, необходимый для их хранения.
reshape
Достаточно продвинутая команда, необходимая для изменения представления груп-пированнвіх даннвіх например, панелвнвіх. Она переводит даннвіе из "длинного" (long) формата, в котором на каждый объект панели имеется несколвко наблюдений, соответствующих разным моментам времени (много наблюдений, откладываемых "в длину" мало переменных, откладываемых "в ширину"), в "широкий" формат (мало наблюдений много переменных), в котором наблюдения соответствуют объектам, а данные записаны в виде переменных, называния которых заканчиваются на "дату". Так, файл с переменными іпсоте?б, іпсоте97, іпсоте98 это данные в "широком" формате, а файл с переменными income, year, где year принимает значения 96, 97, 98 это данные в "длинном" формате.

Панелвные команды Stata, имеющие префикс xt), работают с данными в "длинном" формате.
describe [ переменные] [using имя файла] , [short]
Вывести описание данных и переменных: формат, метки и т. п. Эта команда показывает также количество наблюдений и переменных, изменялисв ли данные с момента последнего сохранения, по каким переменным отсортированы наблюдения. Можно указатв файл, находящийся на жестком диске.
label
Приписатв метки к данным или переменным, label variable имя переменной ''текст" создает метку переменной, которая выводится командой describe и видна в окне переменных. Можно также задатв метку для файла данных (информация о файле данных хранится в сопровождающем его объекте _dta, и соответствующая команда будет иметв вид label data).

Эта метка будет выводится при исполнении use и describe. Можно также задатв метки для отделвных значений дискретной переменной через label define и label values. Признаком хорошего стиля работы с данными является придание меток создаваемым переменным: после любой команды generate или egen должно идти label variable .
notes [_dta | переменная] : 11 текст
Еще один вариант создания примечаний о файле или переменных. Если командой label всем данным в целом или отделвной переменной можно приписатв толвко одну метку ограниченной длины, то notes позволяет приписатв к каждой переменной или к _dta произволвное число меток произволвной длины.

Примечания удобны для внесения комментариев типа: "Разобратвся с этой переменной"; "Данные за 1994 г. сверены"; "Файл получен программой households.do" и т.п.
lookfor текст
Ищет указанный текст в названиях и метках переменнвіх.
clear
Очиститв памяти, ввігр?зив все даннвіе, метки, программві, макросві.

Оценить: основные статистические средства

summarize переменные [if условие] [in диапазон] , [detail ]
Сводка описателвнвіх статистик, таких, как количество наблюдений, среднее, стандартное отклонение, максимум, минимум. Опция detail позволяет ввівести также характернвіе квантили, несколвко самвіх болвших и самвіх маленьких значений и коэффициенты асимметрии и эксцесса.

Прочие команды, описывающие данные в компактном виде lv; codebook и inspect. Для дискретных переменных, принимающих небольшое число значений, будут полезны команды табуляции tabulate или table см. ниже.
correlate переменные [if условие] [in диапазон] , [covariance ]
Выводит матрицу корреляций между переменными в указанном диапазоне. Опция covariance указывает, что надо вывести ковариационную матрицу.

Матрицы вычисляются по тем наблюдениям, для которых имеются значения всех указанных переменных.
pwcorr переменные [if условие] [in диапазон] , sig obs
Выводит матрицу попарных корреляций, т. е. корреляций, рассчитанных по наблюдениям, в которых значения соответствующих переменных попарно не пропущены. Опция sig выводит уровень значимости корреляции (в предположении совместной нормальности), a obs количество наблюдений.
tabulate переменные и table переменные
Построение различных таблиц, содержащих агрегированную информацию по переменным. Поддерживаются метки переменных и отдельных значений. Введение в эти команды дается уроком tutorial tables . См. также [U] 28 Commands for dealing with categorical variables
regress зависимая переменная объясняющие переменные [if условие] [in диапазон] , robust noconst clusterC групповая переменная)
Оценивание линейной регрессии зависимой переменной на объясняющие. Ввіводятся основнвіе рез?лвтатві оценивания: количество наблюдений, таблица дисперсионного анализа, статистики F, R2, а также таблица оценок коэффициентов, стандарт
ных отклонений оценок, t-статистик и доверителвных интервалов (см. с. 54 с примером регрессии). Опция robust задает оценку ковариационной матрицы оценок коэффициентов в форме Уайта (2.29), учитывающей гетероскедастичноств. Опция cluster указывает, что ковариационная матрица должна учитыватв группировку наблюдений (как в стратифицированных обследованиях).

Опция noconst указывает, что в модели, оценивамую Stata, не следует включатв константу (как это делается по умолчанию). После команды regress можно получатв прогнозные значения, остатки и строитв диагностические переменные командой predict или проводитв диагностику регрессии, не прогоняя регрессию заново.

Введение в эту команду предоставляется уроком tutorial regress.
Команды оценивания статистических моделей в Stata имеют много общего. В частности, после всех таких команд можно отдавать команду predict, которая будет строить значения тех или иных выражений, связанных е результатами оценивания; получать матрицы самих оценок параметров (матрица-столбец е (Ь)) и их ковариационную матрицу (е (V)); строить тесты на линейные (test) и нелинейные (testnl, е использованием дельта-метода для получения ковариационной матрицы нелинейных функций оценок) комбинации параметров, и т.д.

Можно вывести результаты оценивания, не показанные в основном блоке вывода, командой estimates list . Отдельные коэффициенты можно получать в виде _Ыимя переменной], а их стандартные ошибки _sеіимя переменной] , Специфика команд, оценивающих параметрические модели, описана в разделах help est и help postest встроенной подсказки Stata.
В пакете Stata имеется широчайший спектр статистических команд, важных для эконометрического анализа:
- регрессия с инструментальными переменными ivreg, робастная регрессия rreg, одновременные уравнения reg3, нелинейный МНК пі:
- модели временных рядов (help time): модели авторегрессии со скользящим средним arima; автокорреляции ас и частные автокорреляции рас; модели с условной гетероскедастичностью arch; регрессия с ковариационной матрицей Ныои-
Веста (2,31) newey; проверка гипотез о единичных корнях временного ряда df uller; pperron;
- обобщенные линейные модели (glm);
- средства дисперсионного анализа (anova; oneway; loneway),
- средства факторного анализа и анализа главных компонент ( factor);
- средства анализа таблиц сопряженности (более подробные опции команд table; tabulate; epitab);
- средства анализа панельных моделей (команды с префиксом xt, например, xtreg, re и xtreg, fe регреееии со случайным и фиксированным панельным эффектом; xtgls регрессии с коррелированными остатками; xtlogit и xtprobit панельные регрессии с бинарной зависимой переменной. Подробности см, help xt, а также [U] 29.13 Panel-data models);
- средства анализа данных типа длительностей, или времени жизни, или времени отказа (survival time; команды с префиксом st: см, help st, а также [U] 29.14 Survival-time (failure time) models);
- средства анализа стратифицированных обследований (survey; команды с префиксом svy: см, help svy. а также [U] 30 Overview of survey estimation);
- средства анализа моделей с бинарной зависимой переменной ( logit; logistic; If it; probit; dprobit предельные эффекты в пробит-модели);
- тесты на равенство средних (ttest), дисперсий (sdtest) и медиан (ранговые и знаковые тесты signrank; signtest; ranksum; kwallis);
- ранговые корреляции (spearman; ktau);
- возможность максимизации функций правдоподобия, запрограммированных пользователем (ml);
- в Stata 7 исчерпывающий набор средств кластерного анализа;
- и многое, многое другое.
Полная стандартная поставка пакета Stata насчитывает около 500 команд для конечного пользователя (плюс большое число внутренних или программистских модулей), Примерно столько же содержится в официальных дополнениях (STB), и еще около полутысячи команд (по состоянию на конец 2000 г.) находится в интернетовском архиве SSC-IDEAS (см, раздел 3,16),

Посчитать: функции

В пакете Stata реализовано довольно большое число различных функций: математических (логарифмы, тригонометрические функции, модуль, корень и т, и,); статистические (плотности и функции распределения; в седьмой версии они приведены в некоторый порядок по сравнению с предыдущими), генератор псевдослучайных чисел (с периодом 2126, 232 различными значениями и с возможностью инициализации пользователем для воспроизводимости вычислительных экспериментов), строковые функции, функции для работ с датами, функции от матриц (определитель, обратная), константа п (_рі) и ряд других. Полный список можно получить через help functions или [U] 16.3 Functions, [R] functions, О возможностях написания пользовательских функций см, раздел 3,17,

Повторить: циклы

Stata обладает довольно своеобразными средствами повтора тех или иных команд для разных групп наблюдений, разных переменных и прочих случаев. Обычно этих средств хватает для выполнения требуемых задач, но иногда приходится прибегать к более изощренным трюкам,
by идентификатор(ы) групп : команда Stata
Эта команда повторяет указанную команду Stata отдельно для каждого набора наблюдений с одинаковыми значиениями групповых переменных. Иными словами, Stata разбивает все данные на отдельные группы согласно групповым переменным (идентификаторам), и выполняет указанную команду для каждой из групп по отдельности.

При этом указатель последнего наблюдения _N указывает на последнее наблюдение в группе. Необходимо, чтобы данные были отсортированы по этим групповым перемен-
ным, в противном случае Stata ввідаст сообщение об ошибке, for тип списка список [: for тип списка список ... ] : команда, Stata с символом, X [Y] [ \ ком,айда, Stata с символом X [Y] ... ]
Поддерживаемвіе типві списков: список чисел (numlist ), список переменнвіх (varlist ), произволвнвій список (anylist ).
Числа от 1 до 10 можно задатв следующими способами: 1(1)10, или 1 2 to 10, или
1/10.
В списке переменнвіх можно исполвзоватв переменнвіе, стоящие друг за другом, через тире. Можно исполвзоватв * как заменители любого символа: и* означает все переменные, начинающиеся на и.
Подробнее о списках: [U] 14 Language syntax, help numlist, help varlist.
Команда for осуществляет цикл в обычном алгоритмическом понимании этого слова. Она перебирает элементы списка и подставляет их вместо X в исполняемой команде (командах).

Если задано болвше одного for через двоеточие, то Stata выполнит указанные команды для всех сочетаний X из первого списка х Y из второго, и т.д. Stata честно пытается информировать пользователя о каждом отдельном значении групповых переменных by или параметра for, для которого выполняется очередное действие, и если список составляет несколько сотен, то весь процесс может оказаться несколько утомителен, да и вывод на экран иногда является самым медленным элементом вычислительного конвейера Stata. Чтобы команды ничего не выводили на экран, перед for и by можно задать, как и перед любой из команд Stata, префикс quietly , например: qui for var xl-x5: g lX=log(X) \ lab var IX log of X
В седьмой версии пакета возможности циклов несколько расширены командами f orvalues и foreach.

Запомнить: результаты работы

Естественно, результаты работы по статистическому анализу данных не должны погибать вместе е концом сеанса Stata. Можно копировать эти результаты непоередетвенно из окна результатов Stata и через буфер обмена переносить в прочие приложения, однако есть более естественный способ, log using имя файла, [ append I replace ] log on I off | close
Эта команда записывает все, что Stata выводит в окно результатов, в указанный файл (добавляя либо перезаписывая этот файл, в соответствии с опциями append либо replace, если такой файл существует), log off временно прекращает запись в файл, log on возобновляет запись в файл, log close прекращает запись и закрывает файл. Команды, связанные с log-файлом, продублированы на панели инструментов Stata кнопочкой со светофором, Log-файлы лучше всего печатать непосредственно из Stata, поскольку Stata умеет автоматически приукрашивать текст (выделяя полужирным шрифтом команды, проставляя даты и і.п.).
В Stata 7 есть два вида log-файлов: командный (в который пишутся только команды, отдаваемые пользователем, что дает возможность быстро конвертировать результаты работы в программу) и полный (в который пишутся как команды, так и результаты их исполнения). Запись команд в командный log-файл задается конструкцией cmdlog using имя файла.

Есть также недокументированные способы записи log-файлов в форматах HTML и texman log html имя файла и log texman имя файла.
Есть еще один вариант сохранения статистических результатов исследований прекрасная пользовательская команда outreg (Gallup 2001), которая записывает результаты регрессий в отдельный текстовый файл в соответствии с принятыми в статистической и эконометрической литературе обозначениями: столбцы коэффициентов со стандартными ошибками в скобках, число наблюдений, статистика R2 и прочие статистики. Этот модуль требует, впрочем, отдельной установки, см, [R] stb, help stb. Самую свежую версию можно найти на сайте архива SSC-IDEAS, см, параграф 3,16,
Наконец, список нескольких последних команд можно получить командой #review [;количество команд] ,
См, также: [U] Printing and preserving output,

Запустить: do-файлы

Произвольную последовательность команд Stata можно записать в отдельный файл не более одной команды в строке и выполнить всю последовательность одной командой, Традиционно файлы, в которых записаны подготовленные таким образом программы, носят расширение .do, а команда, выполняющая эти do-файлы, так и называется:
do имя файла аргументы , [nostop ]
Stata прекращает исполнение do-файла, когда натыкается на ошибку. Можно этого избежать, установив опцию nostop.
Если не требуется вывод на экран, то вместо do можно запустить программу командой run. Впрочем, в случае аварийного останова Stata все равно выдаст сообщение об ошибке, вполне справедливо полагая, что пользователь должен об этом знать,
В текст do-файла можно вставлять комментарии, оформляемые в стиле языка программирования С, т, е, /* открывает комментарий, а */ закрывает. Кроме того, строка, начинающаяся со звездочки *, также считается комментарием и полностью игнорируется, Эта строка, тем не менее, является командой, в том смысле, что Stata выводит ее в окно вывода и в log-файл.

Можно таким образом вводить комментарии и при интерактивной работе.
Когда возможностей for не хватает, можно попробовать написать отдельный do-файл для выполнения требуемых действий и передавать ему X (или каким-то образом преобразованное выражение с X) в качестве одного из аргументов.



Содержание раздела