New In 
Новые функции отчетности
Размножаемые отчеты позволяют нам упростить процесс представления результатов по мере изменения аналитических данных. Независимо от того, меняется ли направление нашей работы или мы получаем обратную связь от наших коллег, создание отчета с результатами нашего исследования редко бывает одноразовой задачей. Воспроизводимые функции отчетности Stata позволяют нам легко изменять и адаптировать наши отчеты по мере изменения результатов анализа.
В Stata 18 мы добавили функции для putdocx и putexcel, которые позволяют еще больше настроить воспроизводимые отчеты. Теперь вы можете включать заголовки,
Основные моменты
-
Новое в putdocx
-
Включение закладок в абзацы и таблицы
-
Включение альтернативного текста для чтения голосовым программным обеспечением для изображений
-
Включение изображений в формате масштабируемой векторной графики (.svg)
-
-
Новое в putexcel
-
Заморозить рабочий лист в определенной строке или столбце
-
Вставка разрыва страницы в определенную строку или столбец
-
Вставка верхнего и нижнего колонтитулов в рабочий лист
-
Включение гиперссылок в ячейки
-
Создание именованного диапазона ячеек
-
колонтитулы и разрывы страниц с помощью Putexcel. Вы также можете «заморозить» строку или столбец рабочего листа; это позволит вам сохранить информацию из этой строки или столбца в поле зрения при прокрутке остальной части листа. Кроме того, вы можете создать именованный диапазон ячеек, чтобы упростить работу с формулами. Мы также добавили поддержку закладок в putdocx; просто оформите текст как закладку и делайте на него ссылки по мере необходимости. Кроме того, при добавлении изображения в файл .docx теперь можно указать альтернативный текст для изображения, который будет читаться голосовыми программами.
Команда dtable — еще одна новая функция создания отчетов в Stata 18. Подробнее о том, как с ее помощью можно легко создать таблицу описательной статистики, часто называемую «таблицей 1», читайте здесь.
Давайте посмотрим, как это работает
У нас есть данные Второго национального исследования здоровья и питания (NHANES II) (McDowell et al. 1981). Нас интересует, как различаются показатели здоровья у диабетиков и недиабетиков. Начнем с создания «Таблицы 1»:

В этой таблице мы видим средний вес, систолическое артериальное давление, уровень холестерина и триглицеридов для каждой группы. Мы также провели тест на равенство между диабетиками и недиабетиками по трем показателям здоровья; мы подавили эти тесты для возраста, веса и пола. С помощью одной команды мы можем создать и экспортировать эту таблицу в файл, совместимый с Word (table1.docx). Однако мы хотим включить эту таблицу в отчет вместе с графиком, текстом и другим содержимым, что мы и сделаем ниже.
Начнем с создания активного документа, добавления заголовка и введения к нашему анализу:
putdocx begin putdocx textblock begin, style(Title) Health report putdocx textblock end putdocx textblock begin Below, we load data from the Second National Health and Nutrition Examination Survey (NHANES II) (McDowell et al. 1981). We are interested in how health measures differ across diabetics and non-diabetics. putdocx textblock end
Затем мы включим в документ таблицу, которую создали выше, хотя на этот раз нам не понадобится опция export(). Вместо этого мы используем collect style putdocx для изменения ширины столбцов в соответствии с содержимым и используем putdocx collect для вставки таблицы в наш документ.
. quietly: dtable age weight bpsystol tcresult tgresult i.sex, by(diabetes, tests) title(Table 1) continuous(age weight, test(none)) factor(sex, test(none)) nformat(%6.1f mean sd) . collect style putdocx, layout(autofitcontents) . putdocx collect (collection DTable posted to putdocx)
Далее мы обсуждаем результаты нашей таблицы и даем ссылку на рисунок 1. Хотя нам еще предстоит создать закладку под названием bmark1, мы отформатируем текст «figure 1» как ссылку на закладку.
putdocx textblock begin In this table, we find strong evidence that the mean systolic blood pressure, cholesterol, and triglycerides differ across diabetics and non-diabetics. We visualize how systolic blood pressure changes with age group in <<dd_docx_display bookmarklink("bmark1"): "figure 1">>. We see that systolic blood pressure climbs with age, and for individuals in their 30s and older, those with diabetes have higher blood pressure than those without, on average. putdocx textblock end
Наконец, мы создаем гистограмму для визуализации среднего систолического артериального давления для каждой возрастной группы и категории диабета. Мы экспортируем наш график в SVG-файл и добавляем заголовок к изображению. Заголовок — «Рисунок 1. Систолическое артериальное давление и диабет», который мы отформатируем как закладку. Затем мы экспортируем изображение с помощью программы putdocx image и указываем альтернативный текст для чтения голосовым программным обеспечением. И наконец, сохраняем нашу работу.
. graph bar (mean) bpsystol, over(agegrp) over(diabetes) asyvars blabel(bar, format(%6.1f)) ytitle(Mean systolic blood pressure) . graph export graph1.svg, replace file graph1.svg saved as SVG format . putdocx paragraph, halign(center) . putdocx text ("Figure 1. Systolic blood pressure and diabetes"), bookmark("bmark1") . putdocx image graph1.svg, linebreak alt("Graph of systolic blood pressure and diabetes") . putdocx save report1, replace successfully replaced "C:/Users/Stata/report1.docx"


Создание файла Excel с заблокированными ячейками
У нас есть данные переписи населения 1980 года, которые мы хотим экспортировать в файл Excel. Нас интересует, как меняется численность населения, количество смертей и браков в каждом регионе США. Сначала мы вычислим среднее значение для численности населения, числа смертей и браков. Затем экспортируем интересующие нас переменные в файл под названием report2.xlsx с помощью export excel. Первая строка будет содержать названия переменных, а первые четыре столбца — регион и средние значения, которые мы вычислили. Чтобы изменить этот файл, мы используем набор putexcel с опцией modify. Мы разделим рабочий лист на первую строку и четвертый столбец с помощью опции split(1,4). Другими словами, мы блокируем эту строку и столбец, чтобы средние значения оставались на виду, пока мы прокручиваем информацию по каждому штату.
. webuse census, clear (1980 Census data by state) . foreach x of varlist pop death marriage { 2. bysort region: egen avg_`x' = mean(`x') 3. } . export excel region avg_* pop de marriage state using report2.xlsx, firstrow(variables) replace file report2.xlsx saved . putexcel set report2.xlsx, modify . putexcel sheetset, split(1, 4) file report2.xlsx saved . putexcel save
Вот наш итоговый документ:

Теперь мы можем прокручивать вниз к другим регионам, сохраняя в поле зрения названия столбцов, и прокручивать вправо, сохраняя в поле зрения средние значения:

Прокрутив страницу вниз до Северо-Центрального региона, мы видим, что в среднем на один штат приходится 47 436 браков; больше всего — 109 823 — приходится на Иллинойс.
Мы также можем хранить сводную статистику по каждому региону в одном рабочем листе и делать гиперссылки на таблицу с другого листа с помощью новой поддержки гиперссылок. Мы можем дополнительно настроить наш рабочий лист, включив в него верхний и нижний колонтитулы или разрыв страницы. Дополнительные сведения см. в [RPT] putexcel.
Материалы
Вы можете загрузить do-файл и итоговые документы, созданные в приведенных выше примерах, набрав
. copy https://www.stata.com/stata18/reporting-features-do
. copy https://www.stata.com/stata18/reporting-features-report1.docx
. copy https://www.stata.com/stata18/reporting-features-report2.xlsx
Ссылка
Макдауэлл, А., А. Энгель, Дж. Т. Масси и К. Маурер. 1981. План и работа Второго национального обследования здоровья и питания, 1976-1980 гг. Vital and Health Statistics 1: 1144.