Отображение результатов ранксума - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь изменить код, отправленный @Nick Cox в моем предыдущем вопросе , но у меня есть некоторые проблемы.

Я установил varlist и мою групповую переменную. Я также изменил параметр col, чтобы он соответствовал моему varname. Я хотел бы добавить количество наблюдений для каждой группы r(N 1) / r(N 2) и поместить в список результатов некоторые "заголовки".

Я пытаюсь изучить команду display, но не могу найти решение.

Мой код следующий:

foreach v of var BVCAlogMAR AvgSSI L1DensityWholeImage { 
    quietly ranksum `v', by(G6PDcarente) porder 
    scalar pval = 2*normprob(-abs(r(z)))
    di "`v'{col 34}" %05.3f pval " " %6.4e pval  "   " %05.3f r(porder) ///
    "   " %05.3f r(N 1)  "   " %05.3f r(N 2)
} 

Я не могу поместить в список результатов значения r(N 1) и r(N 2). Более того, я понятия не имею, как показать заголовок столбца со следующим заголовком:

P-Value, PValue2, Porder-Observ. 1 группа - обсерв. группа 2

Можете ли вы помочь мне?

1 Ответ

0 голосов
/ 15 мая 2018

Вы неправильно ссылаетесь на r(N_1) и r(N_2) как r(N 1) и r(N 2) соответственно.

В примере с игрушкой, представленном в предыдущем посте, я исправил эту ошибку и вставил шестьдополнительные строки в полужирный , которые достигают того, что вы хотите:

sysuse auto, clear 

<b>local i = 0</b>

foreach v of var mpg price weight length displacement { 
    <b>local ++i</b>
    quietly ranksum `v', by(foreign) porder 
    scalar pval = 2*normprob(-abs(r(z)))
    <b>
    if `i' == 1 {
      display %20s "P-Value", %5s "PValue2", %5s "Porder1", %5s "group 1", %5s "group 2"
      display ""
    }</b>

    display "`v'{col 14}" %05.3f pval " " %6.4e pval  "   " %05.3f r(porder)  ///
    "   " %05.3f r(N_1)  "   " %05.3f r(N_2)
} 

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

Макрос счетчика i служит для display заголовка и пустых строк только на первом шаге цикла for вместо того, чтобы повторяться для каждой переменной.

Результаты показаны ниже:

             P-Value PValue2 Porder1 group 1 group 2

mpg          0.002  1.9e-03   0.271   52.000   22.000
price        0.298  3.0e-01   0.423   52.000   22.000
weight       0.000  3.8e-07   0.875   52.000   22.000
length       0.000  9.4e-07   0.862   52.000   22.000
displacement 0.000  1.1e-08   0.921   52.000   22.000

Для получения дополнительной информации о форматировании вывода с помощью команды display введите help format в командной строке Stata.

...