Использование дат в учебных модулях Stata Stata

Использование дат в Stata | Модули обучения Stata.

Этот модуль покажет, как использовать переменные даты, функции даты и форматы отображения даты в Stata..

Преобразование дат из необработанных данных с помощью "датировать()" функция.

Уловка для ввода дат в Stata заключается в том, чтобы забыть, что они являются датами, и рассматривать их как строки символов, а затем преобразовать их в переменную даты Stata. У вас могут быть следующие данные даты в вашем файле необработанных данных.

Вы можете прочитать эти данные, набрав:

Используя команду list, вы можете увидеть, что информация о дате была правильно считана в bday. .

Поскольку bday является строковой переменной, вы не можете выполнять с ней какие-либо вычисления даты, пока не создадите из нее переменную даты. Вы можете создать версию bday с датой, используя функцию date (). В приведенном ниже примере создается переменная даты с именем birthday из символьной переменной bday. Синтаксис немного отличается в зависимости от того, какую версию Stata вы используете. Разница в том, как указан узор. В Stata 9 это должен быть нижний регистр (например,., "dmy"), а в Stata 10 день, месяц и год должны быть прописными (например,., "ДМИ"), но в нижнем регистре, если вы хотите указать часы, минуты или секунды (например,., "DMYhms"). Наши данные расположены в следующем порядке: день, месяц, год, поэтому мы используем "ДМИ" (или же "dmy" если вы используете Stata 9) в команде date (). (Если не указано иное, все остальные команды Stata на этой странице одинаковы для версий 9 и 10.)

В Stata версии 9:

В Stata версии 10:

Давайте посмотрим и на день рождения, и на день рождения .

Значения дня рождения могут показаться запутанными. Значение дня рождения для Джона равно 0, а значение дня рождения для Марка — -207. Даты на самом деле хранятся как количество дней с 1 января 1960 года, что удобно для компьютера, хранящего и выполняющего вычисления дат, но это трудно для вас и меня читать..

Мы можем сказать Stata, что день рождения должен отображаться в формате% d, чтобы людям было легче его читать..

Функция date () очень гибкая и может обрабатывать даты, записанные практически любым способом. Например, рассмотрим файл date2.raw .

Эти даты запутаны, но согласованы. Несмотря на то, что форматы выглядят по-разному, это всегда месяц, день, год, разделенный разделителем (например, пробелом, точкой или тире). Мы можем попробовать использовать приведенный выше синтаксис для чтения в наших новых датах. Обратите внимание, что, как обсуждалось выше, для Stata версии 10 порядок даты объявляется заглавными буквами (т. Е.., "MDY"), в то время как для версии 9 он объявлен в нижнем регистре (т. е.., "MDY").

Стата без проблем смогла прочитать эти даты. Давайте попробуем еще более жесткий набор свиданий. Например, рассмотрим даты в date3.raw .

Давайте попробуем прочитать эти даты и посмотрим, как Stata их обработает. Опять же, помните, что для Stata версии 10 указаны даты "MDY" а для версии 9 они заявлены "MDY".

Как видите, Stata смогла справиться практически со всеми этими сумасшедшими форматами даты. Он смог обработать 12 апреля 1990 года, несмотря на то, что не было разделителя между месяцем и днем ​​(Stata смогла понять это, поскольку месяц был символьным, а день — числом). Единственная дата, которая не сработала, — 12 апреля 1990 года, потому что не было разделителя между днем ​​и годом. Как видите, функция date () может обрабатывать практически любую дату, если есть разделители, разделяющие месяц, день и год. В некоторых случаях Stata может читать все числовые даты, введенные без разделителей, дополнительную информацию см. В справке по датам..

Преобразование дат из необработанных данных с помощью функции mdy ().

В некоторых случаях месяц, день и год могут храниться как числовые переменные в наборе данных. Например, у вас могут быть следующие данные о датах рождения из date4.raw .

Вы можете прочитать эти данные, используя следующий синтаксис, чтобы создать отдельную переменную для месяца, дня и года..

Переменную даты Stata можно создать с помощью функции mdy (), как показано ниже..

Давайте отформатируем день рождения в формате% d, чтобы он отображался лучше.

Рассмотрим данные в файле date5.raw, который аналогичен date4.raw, за исключением того, что для обозначения года используются только две цифры..

Давайте попробуем прочитать эти даты так же, как мы читаем date4.raw .

Как видите, все значения для дня рождения отсутствуют. Это потому, что Стата предполагает, что это были буквально 48, 60, 70 и 71 годы (он не предполагает, что это были 1948, 1960, 1970 и 1971 годы). Вы можете заставить Stata принять значение века 1900, добавив 1900 к году, как показано ниже (обратите внимание, что мы используем замену вместо генерации, поскольку переменная день рождения уже существует).

Расчеты с истекшими датами.

Переменные даты делают вычисления с использованием дат очень удобными. Например, чтобы рассчитать возраст всех на 1 января 2000 г., просто используйте следующее преобразование.

Обратите внимание, что эта формула определения возраста не работает в очень короткие промежутки времени. Например, возраст ребенка в день его рождения будет меньше одного года из-за использования 365,25. Есть формулы более точные, но и гораздо более сложные. Вот пример любезно предоставлен Дэном Бланшеттом..

Другие функции даты.

Учитывая переменную даты, при желании можно отдельно вернуть месяц, день и год, используя функции month (), day () и year () соответственно..

Если вы хотите вернуть день недели для переменной даты, используйте функцию dow () (где 0 = воскресенье, 1 = понедельник и т. Д.).

Резюме.

Функция date () преобразует строки, содержащие даты, в переменные даты. Синтаксис незначительно отличается в зависимости от версии.

В Stata версии 9:

В Stata версии 10:

Функция mdy () принимает три числовых аргумента (месяц, день, год) и преобразует их в переменную даты..

Вы можете отображать прошедшее время как фактические даты с такими форматами отображения, как формат% d.

Другие функции даты включают функции month (), day (), year () и dow (). Для получения интерактивной справки с датами введите в командной строке справочные даты. Более подробные объяснения того, как Stata обрабатывает даты и функции даты, см. В Руководстве пользователя Stata..

Похожие статьи