cách sử dụng hàm “Matchit” đúng cách

Oct 18 2020

Tôi đang cố gắng sử dụng MatchIT:: matchithàm trên tập dữ liệu của mình; tuy nhiên, kết quả tôi nhận được dường như không chính xác; do đó, tôi bắt đầu tự hỏi liệu cách tôi sử dụng hàm có sai không. ví dụ về tập dữ liệu được hiển thị bên dưới (nó chỉ là một phần của 6000 dữ liệu tôi có):

         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  

   

Loại dữ liệu: trong tập dữ liệu trên, shift , site và level là các đối tượng địa lý phân loại và độ tuổi và độ dài là gấp đôi.

những gì tôi muốn làm: Tôi muốn nhìn thấy ảnh hưởng của chiều dài trên kết quả và xem cách thay đổi chiều dài sẽ ảnh hưởng đến kết quả của bài kiểm tra

Vì tôi muốn sử dụng phương pháp gần nhất, tôi nghĩ rằng tôi cần tạo một biến giả cho các đối tượng phân loại vì nó cần thiết để tính toán khoảng cách (mặc dù không chắc liệu nó có chính xác hay không), vì vậy:

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

và sau đó tôi sử dụng matchitnhư bên dưới:

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)

phương trình này có đúng không? tôi có nên bao gồm độ dài trong các matchithàm không? hoặc nó không cần thiết vì chúng ta muốn tìm ảnh hưởng của độ dài?

xin vui lòng cho biết làm thế nào là cách thích hợp để làm điều đó

Trả lời

2 Noah Oct 18 2020 at 08:25

Để sử dụng đối sánh, bạn cần một biến nhị phân là nguyên nhân có chủ đích. Bạn không có điều đó ở đây. lengthlà nguyên nhân có chủ đích, và nó không phải là nguyên nhân nhị phân. Bạn không thể sử dụng đối sánh cho loại phân tích này.