Анализ результатов после выполнения сопоставления с использованием cardmatch в R - PullRequest
0 голосов
/ 25 февраля 2020

После сопоставления, выполненного с использованием этого пакета ниже:

https://rdrr.io/cran/designmatch/man/cardmatch.html

Вместо того, чтобы просто вычислять разницу в средних, как мне получить выходной формат в стиле регрессии ?

После последнего шага в коде соответствия карт по ссылке выше:

# The mean difference in outcomes is the same...
mean(re78[t_id_1]-re78[c_id_1])
mean(re78[t_id_2]-re78[c_id_2])

# ... but their standard deviation is reduced
sd(re78[t_id_1]-re78[c_id_1])
sd(re78[t_id_2]-re78[c_id_2])

Меня интересует нечто подобное, а не просто получение различий в средствах.

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.3483     0.1007  18.681  < 2e-16 ***
treated      -7.4793     0.8387  -6.459 4.87e-10 ***

Как сформировать кадр данных из шага пакета cardmatch, а затем использовать glm или svyglm для анализа результатов?

1 Ответ

0 голосов
/ 26 марта 2020

Если вы не хотите сохранять членство в паре, просто задайте поднабор данных, используя возвращенные компоненты t_id и c_id вывода cardmatch. Например, если выходной объект был назван cm, а ваш набор данных был назван data, выполнение следующего создаст набор данных только из соответствующих единиц:

data_matched <- data[c(cm$t_id, cm$c_id),]

Если вы заботитесь о членстве в паре и если вы хотите создать переменную, которая представляет идентификатор пары каждого блока, вы можете использовать следующий код (который предполагает, что имена строк data отсутствуют или только числа, индексирующие строку):

pair_df <- data.frame(pair = factor(c(seq_along(cm$t_id), 
                                      seq_along(cm$c_id))), 
                      row.names = c(cm$t_id, cm$c_id))
data_matched <- merge(data, pair_df, by = 0, all.x = TRUE, sort = FALSE)[-1]

Любые несопоставленные единицы будут иметь NA для новой переменной pair (или вы можете установить all.x = FALSE, чтобы сохранить только совпадающие единицы). Вы можете использовать переменную pair в качестве случайного эффекта в модели со смешанным эффектом, используя glmer() в пакете lme4 (эквивалентно парному t-критерию) или в стандартных кластерных ошибках в стандартной регрессионной модели с использованием glm() для учета спаривания в вашем анализе. Вы можете добавить ковариаты для повышения точности и уменьшения остаточного смещения.

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