экспорт кросс-таблицы между несколькими переменными - PullRequest
0 голосов
/ 01 октября 2019

Я пытался получить вывод Excel, подобный следующему, используя циклы, чтобы я мог воспроизвести такие вычисления для других таблиц:

Предполагаемый вывод:

К вашему сведению: левый столбец furthest-most с "DCodes, FacilityType и FacTypeDomain" предназначен только для справки. Не включать в таблицу. Я зацикливаюсь на замедлении STATA и в последнее время много читаю. Я просто не могу понять, как последовательно зациклить строки и столбцы, чтобы создать несколько таблиц два на две, а затем добавить их и экспортировать в Excel. Несколько заметок о данных. Переменные столбца имеют двоичные ответы с 1 и 0. Здесь 1 следует рассматривать только для расчетов. Переменные Row являются категориальными с уровнями.

Было бы здорово, если бы я нашел способ исключить пропущенные значения из этих вычислений. Но это не существенно, и я могу сделать до подготовки данных для этой таблицы, если этот пункт переносит коды в другой «невоспроизводимый» ход.

Пока мне удалось написать:

local w = 1
foreach x of varlist DCode FacilityType FacTypeDomain{
    foreach y of varlist chl_cure_serv chl_grw_serv ///
    chl_vac_serv fp_serv anc_serv del_serv all_with_del ///
    all_no_del{
                display "`x'", `w'
                tab `x' `y', matcell(cellcounts)
    local TotalCount = r(N)
    local RowCount = r(r)
    local ColCount = r(c)

    forvalues row = 1/`RowCount'{
        forvalues col = 1/`ColCount'{
            local CellContents = cellcounts[`row',`col']
            local Cell = char(64 + `col') + string(`=`row' + `w'')
            quietly putexcel `Cell' = `CellContents'
            }
        }
    }
    loc w =`w' + `RowCount'+2
}

К сожалению, я получил это:

   ........
    40  1
    28  1
    27  1
    26  0
    86  2
    35  3
    53  2
    39  1
    45  0
    77  18
    10  0
    40  0
    14  0
    301 25
    91  4
    64  0
    392 29
    ........

Только один столбец

Я также стараюсь изо всех сил, чтобы соответствовать этикету взаимодействия с этим сообществом. Пожалуйста, предложите / совет. Я новичок, но быстро учусь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...