maneira adequada de usar a função “Matchit”

Oct 18 2020

Estou tentando usar a MatchIT:: matchitfunção no meu conjunto de dados; entretanto, o resultado que obtenho não parece estar correto; portanto, comecei a me perguntar se a maneira como usei a função está errada. o exemplo do conjunto de dados é mostrado abaixo (é apenas uma parte dos 6.000 dados que tenho):

         shift age  site  level   length result
         <dbl>  <dbl> <dbl> <dbl> <dbl> <lgl>    
 1           0   3.92     0     3    95 FALSE    
 2           0  10.6      0     3   147 FALSE    
 3           0  13.5      0     4   114 FALSE    
 4           0   0.01     0     2   172 FALSE    
 5           0   4.75     0     4    74 FALSE    
 6           0  17.5      0     5    98 FALSE    
 7           0   2.5      0     4    70 FALSE    
 8           0   2.75     0     3    47 FALSE    
 9           0   5.92     0     3    65 FALSE    
10           0  14.5      0     3   129 FALSE
11           1   2.75     8     4   251 TRUE     
12           1   8.08     8     2   206 TRUE     
13           1   5.42     8     3    95 TRUE     
14           1   4.67     8     2   362 TRUE     
15           1   6.75     8     4   648 TRUE  

   

Tipo de dados: no conjunto de dados acima, turno , local e nível são recursos categóricos e idade e comprimento são o dobro.

o que eu quero fazer: eu quero ver o efeito do comprimento no resultado e ver como a alteração do comprimento afetará o resultado do teste

Como quero usar o método mais próximo, achei necessário criar uma variável fictícia para recursos categóricos, pois ela é necessária para calcular a distância (não tenho certeza se está correta), então:

df_prop_match_dumm <- dummy_cols(df_prop_match, select_columns = c("shift","site","level"))

e então usei matchitcomo abaixo:

match_out <- matchit(result ~ shift_0 + shift_1 + shift_2 + level_1 + level_2 +
                       level_3 +level_4 +level_5 + site_1 + site_2 +site_3 +site_4 +site_5 +site_6 
                       +site_7 +site_8 + ageyrs ,data = df_prop_match_dumm , method="nearest", ratio=1)

esta equação está correta? devo incluir comprimento nas matchitfunções? ou não é necessário, pois queremos encontrar o efeito do comprimento?

por favor, informe como é a maneira correta de fazer isso

Respostas

2 Noah Oct 18 2020 at 08:25

Para usar a correspondência, você precisa de uma variável binária que seja a causa suposta. Você não tem isso aqui. lengthé a causa pretendida e não é binária. Você não pode usar correspondência para este tipo de análise.