R ဖြင့် ancova ကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
ဤသင်ခန်းစာသည် R ဖြင့် ANCOVA ကို မည်သို့လုပ်ဆောင်ရမည်ကို ဥပမာပေးထားသည်။
ဥပမာ- R in ANCOVA
လေ့လာမှုနည်းပညာသည် အောက်ပါကိန်းရှင်များကို အသုံးပြု၍ စာမေးပွဲရလဒ်များအပေါ် သက်ရောက်မှုရှိမရှိ စမ်းသပ်ရန် ANCOVA ကို လုပ်ဆောင်ပါမည်။
- နည်းပညာလေ့လာမှု – ကျွန်ုပ်တို့ခွဲခြမ်းစိတ်ဖြာလိုသော သီးခြားကိန်းရှင်
- လက်ရှိ ကျောင်းသားအဆင့် – ကျွန်ုပ်တို့ ထည့်သွင်းစဉ်းစားလိုသော အစုအဝေး
- သုံးသပ်ချက်ရမှတ် – ကျွန်ုပ်တို့ခွဲခြမ်းစိတ်ဖြာလိုသော တုံ့ပြန်မှုကိန်းရှင်များ
အောက်ဖော်ပြပါဒေတာအတွဲတွင် ကျောင်းသား 90 ဦးအား ကျပန်းအုပ်စု 30 မှ အုပ်စုသုံးစုခွဲထားသည်။
ဒေတာအတွဲတွင် ကျောင်းသားတစ်ဦးစီအသုံးပြုသော လေ့လာမှုနည်းစနစ် (A၊ B ၊ သို့မဟုတ် C) ၊ လေ့လာမှုနည်းပညာကို စတင်အသုံးပြုချိန်တွင် အတန်းတွင်းရှိ ၎င်းတို့၏ လက်ရှိအတန်းနှင့် လေ့လာမှုနည်းလမ်းကို တစ်လကြာပြင်ဆင်ပြီးနောက် စာမေးပွဲတွင် ရရှိသည့်အဆင့်ကို ပြသသည် စာမေးပွဲအတွက်။ စာမေးပွဲ:
#make this example reproducible set.seed(10) #create dataset data <- data.frame(technique = rep(c("A", "B", "C"), each = 30), current_grade = runif(90, 65, 95), exam = c(runif(30, 80, 95), runif(30, 70, 95), runif(30, 70, 90))) #view first six lines of dataset head(data) # technical current_grade exam #1 A 80.22435 87.32759 #2 A 74.20306 90.67114 #3 A 77.80723 88.87902 #4 A 85.79306 87.75735 #5 A 67.55408 85.72442 #6 A 71.76310 92.52167
အဆင့် 1: ဒေတာကိုစူးစမ်းပါ။
ANCOVA မော်ဒယ်ကို အံမဝင်မီ၊ ကျွန်ုပ်တို့သည် ၎င်းကို ပိုမိုကောင်းမွန်စွာ နားလည်ရန် ဒေတာကို စူးစမ်းလေ့လာပြီး ရလဒ်များကို လှည့်စားနိုင်သည့် လွန်ကဲသော အစွန်းအထင်းများ မရှိကြောင်း စစ်ဆေးရန် လိုအပ်ပါသည်။
ဦးစွာ၊ dataset အတွင်းရှိ variable တစ်ခုစီ၏ အကျဉ်းချုပ်ကို ပြသနိုင်သည်-
summary(data) # technical current_grade exam #A:30 Min. :65.43 Min. :71.17 # B:30 1st Qu.:71.79 1st Qu.:77.27 # C:30 Median:77.84 Median:84.69 # Mean:78.15 Mean:83.38 # 3rd Qu.:83.65 3rd Qu.:89.22 # Max. :93.84 Max. :94.76
လေ့လာမှုတစ်ခုစီ၏နည်းပညာတန်ဖိုး ( A၊ B နှင့် C) သည် အချက်အလက်တွင် အဆ 30 ပေါ်လာသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။
ကျောင်းသားများ၏ လက်ရှိရမှတ်များကို လေ့လာမှုစတင်ချိန်တွင် မည်ကဲ့သို့ ဖြန့်ဝေသည်ကို ကျွန်ုပ်တို့လည်း ကြည့်ရှုနိုင်ပါသည်။ အတန်းတွင် အနိမ့်ဆုံးရမှတ်မှာ ၆၅.၄၃၊ အမြင့်ဆုံးမှာ ၉၃.၈၄ ဖြစ်ပြီး ပျမ်းမျှမှာ ၇၈.၁၅ ဖြစ်သည်။
အလားတူ၊ စာမေးပွဲတွင်ရရှိသော အနိမ့်ဆုံးရမှတ်မှာ ၇၁.၁၇၊ အမြင့်ဆုံးရမှတ်မှာ ၉၄.၇၆ ဖြစ်ပြီး ပျမ်းမျှ ၈၃.၃၈ ဖြစ်သည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။
ထို့နောက် လေ့လာမှုနည်းပညာတစ်ခုစီအတွက် လက်ရှိအဆင့်များနှင့် စာမေးပွဲရလဒ်များ၏ ပျမ်းမျှနှင့် စံသွေဖည်မှုကို အလွယ်တကူရှာဖွေရန် dplyr package ကို အသုံးပြုနိုင်ပါသည်။
#load dplyr library(dplyr) data %>% group_by (technical) %>% summarize (mean_grade = mean(current_grade), sd_grade = sd(current_grade), mean_exam = mean(exam), sd_exam = sd(exam)) # A tibble: 3 x 5 # technique mean_grade sd_grade mean_exam sd_exam #1 A 79.0 7.00 88.5 3.88 #2 B 78.5 8.33 81.8 7.62 #3 C 76.9 8.24 79.9 5.71
လေ့လာမှုနည်းလမ်းတစ်ခုစီကိုအသုံးပြုသည့် ကျောင်းသားများ၏ လက်ရှိအတန်း၏ ပျမ်းမျှနှင့် စံသွေဖည်မှုများသည် ခန့်မှန်းခြေအားဖြင့် ဆင်တူကြောင်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။
နည်းစနစ် B နှင့် C နှင့် နှိုင်းယှဉ်ပါက လေ့လာမှုနည်းပညာ A ကို အသုံးပြုသော ကျောင်းသားများအတွက် ပျမ်းမျှ စာမေးပွဲရမှတ်သည် သိသိသာသာ မြင့်မားသည်ကို ကျွန်ုပ်တို့ တွေ့နိုင်သည်။
boxplots ကို အသုံးပြု၍ လေ့လာမှုနည်းပညာအပေါ် အခြေခံ၍ စာမေးပွဲရလဒ်များ ဖြန့်ဝေမှုကိုလည်း မြင်ယောင်နိုင်သည်-
boxplot(exam ~ technique, data = data, main = "Exam Score by Studying Technique", xlab = "Studying Technique", ylab = "Exam Score", col = "steelblue", border = "black" )
အလားတူ၊ လေ့လာမှုနည်းပညာအပေါ်အခြေခံ၍ လက်ရှိအဆင့်များ ခွဲဝေမှုကို မြင်သာစေရန် boxplots များကိုလည်း အသုံးပြုနိုင်ပါသည်။
boxplot(current_grade ~ technical, data = data, main = "Current Grade by Studying Technique", xlab = "Studying Technique", ylab = "Current Grade", col = "steelblue", border = "black" )
အဆင့် 2- မော်ဒယ် ယူဆချက်ကို စစ်ဆေးပါ။
ကျွန်ုပ်တို့သည် အခြေခံဒေတာရှာဖွေရေးအချို့ကို လုပ်ဆောင်ပြီး ဒေတာနှင့်ရင်းနှီးပြီးသည်နှင့်၊ ANCOVA အတွက် အောက်ပါယူဆချက်များနှင့် ကိုက်ညီမှုရှိမရှိ စစ်ဆေးရန် လိုအပ်သည်-
- covariate နှင့် ကုသမှုသည် သီးခြားဖြစ်သည် – covariate ( လက်ရှိအဆင့်) နှင့် ကုသမှု (လေ့လာရေးနည်းပညာ) သည် တစ်ခုနှင့်တစ်ခု သီးခြားမကင်းကြောင်း စစ်ဆေးရန် လိုအပ်သည်၊ အဘယ်ကြောင့်ဆိုသော် မော်ဒယ်တွင် covariate ဟူသောအသုံးအနှုန်းကို ထည့်သွင်းခြင်းသည် covariate မှသာလျှင် အဓိပ္ပာယ်ရှိသောကြောင့်၊ ကုသမှုသည် တုံ့ပြန်မှုပြောင်းလဲမှု ( စာမေးပွဲ ) တွင် သီးခြားလုပ်ဆောင်သည်။
- ကွဲလွဲမှု၏ တူညီခြင်း – အုပ်စုများကြား ကွဲလွဲမှုများ တူညီမှုရှိမရှိ စစ်ဆေးရန် လိုအပ်သည်။
covariate နှင့် ကုသမှုသည် သီးခြားဖြစ်ကြောင်း အတည်ပြုရန်၊ ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်းရှင်နှင့် လေ့လာမှုနည်းစနစ် အဖြစ် လက်ရှိအဆင့်ကို အသုံးပြု၍ ANOVA ကို လုပ်ဆောင်နိုင်သည်-
#fit anova model anova_model <- aov(current_grade ~ technique, data = data) #view summary of anova model summary(anova_model) # Df Sum Sq Mean Sq F value Pr(>F) #technical 2 74 37.21 0.599 0.552 #Residuals 87 5406 62.14
p-value သည် 0.05 ထက် ကြီးသောကြောင့် covariate ( လက်ရှိအဆင့်) နှင့် ကုသမှု ( လေ့လာမှုနည်းပညာ ) သည် သီးခြားဖြစ်နေပါသည်။
ထို့နောက်၊ အုပ်စုများကြား ကွဲလွဲမှု တူညီမှုရှိမရှိ စစ်ဆေးရန်၊ ကျွန်ုပ်တို့သည် Levene စမ်းသပ်မှုကို လုပ်ဆောင်နိုင်သည်-
#load car library to conduct Levene's Test libary(car) #conduct Levene's Test leveneTest(technical exam, data = data) #Levene's Test for Homogeneity of Variance (center = median) # Df F value Pr(>F) #group 2 9.4324 0.0001961 *** #87
စစ်ဆေးမှု၏ p-value သည် 0.0001961 နှင့် ညီမျှသည်၊ ၎င်းသည် အုပ်စုများကြားကွဲလွဲမှုများ မညီမျှကြောင်းဖော်ပြသည်။ ဤပြဿနာကို ပြုပြင်ရန် ဒေတာကို အသွင်ပြောင်းရန် ကြိုးပမ်းနိုင်သော်လည်း ယခုအချိန်တွင် ကွဲလွဲမှု ကွဲပြားမှုများကို အလွန်စိုးရိမ်မည်မဟုတ်ပါ။
အဆင့် 3- ANCOVA မော်ဒယ်ကို ချိန်ညှိပါ။
ထို့နောက်၊ ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုမပြောင်းလဲနိုင်သော၊ ခန့်မှန်းသူ (သို့မဟုတ် “ ကုသမှု” ) ကိန်း ရှင် အဖြစ် စာမေးပွဲရမှတ်ကို အသုံးပြု၍ ANCOVA မော်ဒယ်နှင့် အံဝင်ခွင်ကျ ဖြစ်ပါမည်။
၎င်းကိုလုပ်ဆောင်ရန်အတွက် ပက်ကေ့ဂျ်ရှိ Anova() လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့သည် မော်ဒယ်အတွက် အမျိုးအစား III ပေါင်းလဒ်ကို အသုံးပြုလိုကြောင်း သတ်မှတ်နိုင်စေရန်အတွက် အမျိုးအစား I sum ၏ စတုရန်းအမျိုးအစားသည် မည်သည့်အစီအစဥ်ပေါ်တွင်မူတည်သောကြောင့်၊ ကြိုတင်ခန့်မှန်းသူများကို မော်ဒယ်ထဲသို့ ထည့်သွင်းထားသည်။
#load car library library(car) #fit ANCOVA model ancova_model <- aov(exam ~ technique + current_grade, data = data) #view summary of model Anova(ancova_model, type="III") #Answer: exam # Sum Sq Df F value Pr(>F) #(Intercept) 7161.2 1 201.4621 < 2.2e-16 *** #technical 1242.9 2 17.4830 4.255e-07 *** #current_grade 12.3 1 0.3467 0.5576 #Residuals 3057.0 86
နည်းပညာ အတွက် p-တန်ဖိုးသည် အလွန်နိမ့်ကျသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်၊ လေ့လာမှုနည်းပညာသည် လက်ရှိအတန်းကို ထိန်းချုပ်ပြီးနောက်တွင်ပင် စာမေးပွဲရမှတ်များအပေါ် စာရင်းအင်းအရ သိသာထင်ရှားသော အကျိုးသက်ရောက်မှုကို ညွှန်ပြပါသည်။
အဆင့် 4- Post-hoc စမ်းသပ်ခြင်း။
ANCOVA ရလဒ်များက လေ့လာမှုနည်းပညာသည် စာမေးပွဲရမှတ်များအပေါ် ကိန်းဂဏန်းအချက်အလတ်များ သိသိသာသာသက်ရောက်မှုရှိကြောင်း ကျွန်ုပ်တို့အားပြောပြသော်လည်း မည်သည့်လေ့လာမှုနည်းပညာများ ကွာခြားသည်ကို ဆုံးဖြတ်ရန် ကျွန်ုပ်တို့သည် post hoc စစ်ဆေးမှု ပြုလုပ်ရန် လိုအပ်ပါသည်။
၎င်းကိုလုပ်ဆောင်ရန်၊ နှိုင်းယှဉ်မှုများစွာအတွက် Tukey စမ်းသပ်မှုကိုလုပ်ဆောင်ရန် R ရှိ multcomp ပက်ကေ့ဂ်ရှိ glht() လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-
#load the multcomp library library(multicomp) #fit the ANCOVA model ancova_model <- aov(exam ~ technique + current_grade, data = data) #define the post hoc comparisons to make postHocs <- glht(ancova_model, linfct = mcp(technique = "Tukey")) #view a summary of the post hoc comparisons summary(postHocs) #Multiple Comparisons of Means: Tukey Contrasts # #Fit: aov(formula = exam ~ technique + current_grade, data = data) # #Linear Assumptions: #Estimate Std. Error t value Pr(>|t|) #B - A == 0 -6.711 1.540 -4.358 0.000109 *** #C - A == 0 -8.736 1.549 -5.640 < 1e-04 *** #C - B == 0 -2.025 1.545 -1.311 0.393089 #view the confidence intervals associated with the multiple comparisons confint(postHocs) # Simultaneous Confidence Intervals # #Multiple Comparisons of Means: Tukey Contrasts # #Fit: aov(formula = exam ~ technique + current_grade, data = data) # #Quantile = 2.3845 #95% family-wise confidence level # #Linear Assumptions: # Estimate lwr upr #B - A == 0 -6.7112 -10.3832 -3.0392 #C - A == 0 -8.7364 -12.4302 -5.0426 #C - B == 0 -2.0252 -5.7091 1.6588
ရလဒ်မှ၊ လေ့လာခြင်းနည်းပညာ A နှင့် လေ့လာခြင်းနည်းပညာ B (p-value: 0,000109) အကြား စာမေးပွဲရလဒ်များတွင် ကိန်းဂဏန်းသိသိသာသာ ကွာခြားချက် ( α = 0.05) ရှိသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်သည် ။ (p-value: <1e-04)။
နည်းပညာများ B နှင့် C အကြားတွင် ကိန်းဂဏန်းဆိုင်ရာ သိသာထင်ရှားသော ခြားနားချက် (α = 0.05) မရှိကြောင်း ကိုလည်း ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။ နည်းစနစ်များကြားကာလများတွင် ယုံကြည်မှုသည် ဤတွေ့ရှိချက်များကို ပံ့ပိုးပေးပါသည်။
ထို့ကြောင့်၊ အတန်းထဲတွင် ကျောင်းသား၏ လက်ရှိအတန်းကို ထိန်းချုပ်ပြီးနောက်တွင်ပင် နည်းပညာ B နှင့် C နှင့် နှိုင်းယှဉ်ပါက လေ့လာမှုနည်းစနစ် A ကို အသုံးပြုခြင်းဖြင့် ကျောင်းသားများအတွက် ကိန်းဂဏန်းသိသိသာသာ မြင့်မားသော စာမေးပွဲအဆင့်ကို ကျွန်ုပ်တို့ ကောက်ချက်ချနိုင်ပါသည်။