R တွင်တစ်လမ်းမောင်း anova ကိုမည်ကဲ့သို့လုပ်ဆောင်ရမည်နည်း။
တစ်လမ်းသွား ANOVA ကို သုံးသော သို့မဟုတ် ထို့ထက်ပိုသော လွတ်လပ်သော အုပ်စုများအကြား စာရင်းအင်းဆိုင်ရာ သိသာထင်ရှားသော ခြားနားမှု ရှိ၊ မရှိ ဆုံးဖြတ်ရန် အသုံးပြုသည်။
ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်းရှင်တစ်ခုပေါ်ရှိ ကြိုတင်ခန့်မှန်းကိန်းရှင် တစ်ခု၏ အကျိုးသက်ရောက်မှုကို ပိုင်းခြားစိတ်ဖြာသောကြောင့် ဤစမ်းသပ်မှုအမျိုးအစားကို တစ်လမ်းသွား ANOVA ဟုခေါ်သည်။
မှတ်ချက် – အကယ်၍ ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်းရှင်တစ်ခုပေါ်ရှိ ကြိုတင်ခန့်မှန်းကိန်းရှင်နှစ်ခု၏ အကျိုးသက်ရောက်မှုကို စိတ်ဝင်စားပါက၊ ကျွန်ုပ်တို့သည် နှစ်လမ်းသွား ANOVA ကို လုပ်ဆောင်နိုင်သည်။
တစ်လမ်းမောင်း ANOVA ကို R ဖြင့် မည်သို့လုပ်ဆောင်ရမည်နည်း။
အောက်ဖော်ပြပါ ဥပမာသည် R in one-way ANOVA ကို မည်သို့လုပ်ဆောင်ရမည်ကို ဖော်ပြသည်။
နောက်ခံ
မတူညီသော လေ့ကျင့်ခန်းအစီအစဉ်သုံးခုသည် ကိုယ်အလေးချိန်ကျခြင်းအပေါ် မတူညီသောအကျိုးသက်ရောက်မှုရှိမရှိ ဆုံးဖြတ်ရန်လိုသည်ဆိုပါစို့။ ကျွန်ုပ်တို့လေ့လာခဲ့သော ခန့်မှန်းချက်ကိန်းရှင်သည် လေ့ကျင့်ခန်းအစီအစဉ် ဖြစ်ပြီး တုံ့ပြန်မှုပြောင်းလဲမှု မှာ ကိုယ်အလေးချိန် ပေါင်ဖြင့် တိုင်းတာခြင်းဖြစ်သည်။
ပရိုဂရမ်သုံးခုမှ ထွက်ပေါ်လာသော ကိုယ်အလေးချိန်ကျခြင်းကြားတွင် စာရင်းအင်းအရ သိသာထင်ရှားသော ခြားနားချက်ရှိမရှိ ဆုံးဖြတ်ရန် တစ်လမ်းသွား ANOVA ကို လုပ်ဆောင်နိုင်သည်။
ကျွန်ုပ်တို့သည် ပရိုဂရမ် A၊ ပရိုဂရမ် B သို့မဟုတ် ပရိုဂရမ် C ကို တစ်လကြာ လိုက်နာရန် လူ 30 ကို ကျပန်းသတ်မှတ်ထားသော စမ်းသပ်မှုတစ်ခုတွင် ပါဝင်ရန် လူ 90 ကို စုဆောင်းထားပါသည်။
အောက်ပါကုဒ်သည် ကျွန်ုပ်တို့နှင့်အတူ လုပ်ဆောင်မည့် ဒေတာဘောင်ကို ဖန်တီးသည်-
#make this example reproducible
set.seed(0)
#create data frame
data <- data.frame(program = rep(c("A", "B", "C"), each = 30),
weight_loss = c(runif(30, 0, 3),
runif(30, 0, 5),
runif(30, 1, 7)))
#view first six rows of data frame
head(data)
# program weight_loss
#1 A 2.6900916
#2 A 0.7965260
#3 A 1.1163717
#4 A 1.7185601
#5 A 2.7246234
#6 A 0.6050458
ဒေတာဘောင်၏ ပထမကော်လံတွင် တစ်လကြာပါဝင်ခဲ့သည့် ပရိုဂရမ်ကို ပြသပြီး ဒုတိယကော်လံတွင် ပရိုဂရမ်၏အဆုံးတွင် ကြုံတွေ့ခဲ့ရသူ၏ စုစုပေါင်းကိုယ်အလေးချိန်ကို ပေါင်ဖြင့်တိုင်းတာကာ ပြသသည်။
အချက်အလက်ကို စူးစမ်းပါ။
တစ်လမ်းသွား ANOVA မော်ဒယ်ကိုပင် အံကိုက်မဖြစ်မီ၊ dplyr ပက်ကေ့ဂျ်ကို အသုံးပြု၍ ပရိုဂရမ်သုံးခုတစ်ခုစီအတွက် ကိုယ်အလေးချိန်ကျခြင်း၏ ပျမ်းမျှနှင့် စံသွေဖည်မှုကို ရှာဖွေခြင်းဖြင့် ဒေတာကို ပိုမိုကောင်းမွန်စွာ နားလည်နိုင်သည်-
#load dplyr package library (dplyr) #find mean and standard deviation of weight loss for each treatment group data %>% group_by (program) %>% summarize (mean = mean(weight_loss), sd = sd(weight_loss)) # A tibble: 3 x 3 # program mean sd # #1 A 1.58 0.905 #2 B 2.56 1.24 #3 C 4.13 1.57
ပရိုဂရမ်တစ်ခုစီအတွက် ကိုယ်အလေးချိန်လျှော့ချခြင်းကို မြင်သာစေရန် ပရိုဂရမ်သုံးခုစီအတွက် boxplot တစ်ခုကိုလည်း ဖန်တီးနိုင်သည်-
#create boxplots
boxplot(weight_loss ~ program,
data = data,
main = "Weight Loss Distribution by Program",
xlab = "Program",
ylab = "Weight Loss",
col = "steelblue",
border = "black")
ဤပုံးကွက်များမှ၊ Program C တွင်ပါဝင်သူများအတွက် ပျမ်းမျှကိုယ်အလေးချိန်သည် အမြင့်ဆုံးဖြစ်ပြီး Program A တွင်ပါဝင်သူများအတွက် ပျမ်းမျှကိုယ်အလေးချိန်သည် အနိမ့်ဆုံးဖြစ်ကြောင်း ကျွန်ုပ်တို့တွေ့နိုင်ပါသည်။
ကိုယ်အလေးချိန်ကျခြင်းအတွက် စံသွေဖည်မှု (“ အရှည်” ) သည် အခြားပရိုဂရမ်နှစ်ခုနှင့် နှိုင်းယှဉ်ပါက ပရိုဂရမ် C တွင် အနည်းငယ်ပိုမြင့်သည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။
ထို့နောက်၊ ဤရုပ်ပုံဆိုင်ရာ ကွာခြားချက်များသည် အမှန်တကယ်တွင် စာရင်းအင်းအရ သိသာထင်ရှားခြင်းရှိမရှိ ကြည့်ရှုရန် တစ်လမ်းသွား ANOVA မော်ဒယ်ကို ကျွန်ုပ်တို့၏ဒေတာနှင့် အံဝင်ခွင်ကျဖြစ်စေပါမည်။
တစ်လမ်းမောင်း ANOVA မော်ဒယ် လျောက်ပတ်သည်။
R တွင် တစ်လမ်းသွား ANOVA မော်ဒယ်နှင့် အံဝင်ခွင်ကျအတွက် ယေဘူယျ syntax သည်-
aov(တုံ့ပြန်မှုကိန်းရှင် ~ ခန့်မှန်းသူ_ပြောင်းလဲနိုင်သော၊ ဒေတာ = ဒေတာအတွဲ)
ကျွန်ုပ်တို့၏ဥပမာတွင်၊ ကျွန်ုပ်တို့သည် တုံ့ပြန်မှုကိန်းရှင်အဖြစ် weight_loss နှင့် ကြိုတင်ခန့်မှန်းကိန်းရှင်အဖြစ် ပရိုဂရမ်ကို အသုံးပြု၍ တစ်လမ်းသွား ANOVA မော်ဒယ်နှင့်ကိုက်ညီရန် အောက်ပါကုဒ်ကိုသုံးနိုင်သည်။ ထို့နောက် ကျွန်ုပ်တို့၏မော်ဒယ်ရလဒ်ကိုပြသရန် summary() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်ပါသည်။
#fit the one-way ANOVA model model <- aov(weight_loss ~ program, data = data) #view the model output summary(model) # Df Sum Sq Mean Sq F value Pr(>F) #program 2 98.93 49.46 30.83 7.55e-11 *** #Residuals 87 139.57 1.60 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
မော်ဒယ်ရလဒ်များမှ၊ ခန့်မှန်းသူကိန်းရှင်များ၏ ပရိုဂရမ် သည် 0.05 အရေးပါမှုအဆင့်တွင် ကိန်းဂဏန်းအရ သိသာထင်ရှားကြောင်း တွေ့နိုင်ပါသည်။
တစ်နည်းဆိုရသော်၊ ပရိုဂရမ်သုံးခုမှ ထွက်ပေါ်လာသော ပျမ်းမျှကိုယ်အလေးချိန် လျော့ကျမှုကြားတွင် ကိန်းဂဏန်းအရ သိသာထင်ရှားသော ကွာခြားချက် ရှိပါသည်။
မော်ဒယ်ယူဆချက်များကို စစ်ဆေးခြင်း။
ကျွန်ုပ်တို့ ရှေ့ဆက်မသွားမီ၊ ကျွန်ုပ်တို့၏ မော်ဒယ်ရလဒ်များသည် ယုံကြည်စိတ်ချနိုင်စေရန် ကျွန်ုပ်တို့၏ မော်ဒယ်၏ ယူဆချက်များ နှင့် ကိုက်ညီကြောင်း အတည်ပြုရန် လိုအပ်ပါသည်။ အထူးသဖြင့်၊ တစ်လမ်းသွား ANOVA က ယူဆသည်-
1. လွတ်လပ်ရေး – အဖွဲ့တစ်ခုစီ၏ ရှုမြင်သုံးသပ်ချက်များသည် တစ်ခုနှင့်တစ်ခု အမှီအခိုကင်းရမည်။ ကျွန်ုပ်တို့သည် ကျပန်းပုံစံဒီဇိုင်းကို အသုံးပြုခဲ့သည် (ဆိုလိုသည်မှာ၊ ကျွန်ုပ်တို့သည် လေ့ကျင့်ခန်းအစီအစဉ်များတွင် ပါဝင်သူများကို ကျပန်းလုပ်ဆောင်ပေးသည်) ဖြစ်သောကြောင့် ဤယူဆချက်ကို ကျွန်ုပ်တို့ အလွန်အကျွံစိုးရိမ်စရာမလိုစေရန်အတွက် ဤယူဆချက်ကို ဖြည့်ဆည်းပေးသင့်ပါသည်။
2. Normality – မှီခိုကိန်းရှင်သည် ခန့်မှန်းတွက်ချက်နိုင်သောကိန်းရှင်အဆင့်တစ်ခုစီအတွက် ခန့်မှန်းခြေအားဖြင့် ပုံမှန်ဖြန့်ဝေမှု ရှိသင့်သည်။
3. တူညီသောကွဲလွဲမှု – အုပ်စုတစ်ခုစီအတွက် ကွဲလွဲမှုများသည် တူညီသည် သို့မဟုတ် ခန့်မှန်းခြေအားဖြင့် တူညီသည်။
ပုံမှန်အခြေအနေ နှင့် တူညီသောကွဲလွဲမှု ၏ ယူဆချက်များကို စစ်ဆေးရန် နည်းလမ်းတစ်ခုမှာ မော်ဒယ်စစ်ဆေးခြင်းကွက် လေးခုကို ထုတ်လုပ်ပေးသည့် plot() လုပ်ဆောင်ချက်ကို အသုံးပြုခြင်းဖြစ်သည်။ အထူးသဖြင့်၊ အောက်ဖော်ပြပါ မြေကွက်နှစ်ခုကို ကျွန်ုပ်တို့ အထူးစိတ်ဝင်စားပါသည်။
- အကြွင်းများနှင့် တပ်ဆင်ထားသည် – ဤဂရပ်သည် အကြွင်းအကျန်များနှင့် တပ်ဆင်ထားသော တန်ဖိုးများကြား ဆက်နွယ်မှုကို ပြသသည်။ အဖွဲ့များကြား ကွဲလွဲမှုမှာ ခန့်မှန်းခြေအားဖြင့် ညီမျှခြင်း ရှိ၊ မရှိ အကြမ်းဖျင်း အကဲဖြတ်ရန် ဤဂရပ်ကို အသုံးပြုနိုင်ပါသည်။
- QQ ကြံစည်မှု – ဤကွက်ကွက်သည် သီအိုရီကိန်းဂဏန်းများနှင့် ဆန့်ကျင်ဘက်စံပြုကျန်နေများကို ပြသသည်။ သာမာန်ယူဆချက်နှင့်ကိုက်ညီမှုရှိမရှိ အကြမ်းဖျင်းအကဲဖြတ်ရန် ဤဂရပ်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်ပါသည်။
ဤမော်ဒယ်စစ်ဆေးခြင်းကွက်များကို ထုတ်လုပ်ရန်အတွက် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်ပါသည်။
plot(model)
အထက်ဖော်ပြပါ QQ ဂရပ်သည် ကျွန်ုပ်တို့အား ပုံမှန်အဖြစ်ယူဆချက်ကို အတည်ပြုနိုင်စေပါသည်။ အကောင်းဆုံးမှာ၊ စံသတ်မှတ်ထားသော အကြွင်းအကျန်များသည် ကွက်လပ်၏ ဖြောင့်ထောင့်ဖြတ်မျဉ်းတစ်လျှောက်တွင် ရှိနေမည်ဖြစ်သည်။ သို့ရာတွင်၊ အထက်ဖော်ပြပါဂရပ်တွင် အကြွင်းအကျန်များသည် မျဉ်းမှအစနှင့်အဆုံးသို့ အနည်းငယ်လွဲသွားသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပါသည်။ ယင်းက ကျွန်ုပ်တို့၏ ပုံမှန်ဖြစ်တည်မှု ယူဆချက်ကို ချိုးဖောက်နိုင်ကြောင်း ညွှန်ပြနေသည်။
အကြွင်းအကျန်များနှင့် အထက်တွင် ချိန်ညှိထားသော ဂရပ်သည် ကျွန်ုပ်တို့၏ တူညီသောကွဲပြားမှုများ၏ ယူဆချက်ကို အတည်ပြုနိုင်စေပါသည်။ အကောင်းဆုံးကတော့၊ တပ်ဆင်ထားသော တန်ဖိုးအဆင့်တစ်ခုစီအတွက် အကြွင်းအကျန်များကို အညီအမျှ ခွဲဝေပေးစေလိုပါသည်။
အကြွင်းအကျန်များသည် ပိုမိုမြင့်မားသော တပ်ဆင်တန်ဖိုးများအတွက် ပိုမိုပြန့်နှံ့သွားသည်ကို ကျွန်ုပ်တို့တွေ့မြင်နိုင်ပြီး၊ ကျွန်ုပ်တို့၏ တန်းတူညီမျှမှု ကွဲလွဲမှု၏ ယူဆချက်ကို ချိုးဖောက်ခံရနိုင်သည်ကို ညွှန်ပြပါသည်။
တူညီသောကွဲလွဲမှုများကို တရားဝင်စမ်းသပ်ရန်၊ ကား ပက်ကေ့ခ်ျကို အသုံးပြု၍ Levene စမ်းသပ်မှုကို လုပ်ဆောင်နိုင်သည်-
#load car package library (car) #conduct Levene's Test for equality of variances leveneTest(weight_loss ~ program, data = data) #Levene's Test for Homogeneity of Variance (center = median) # Df F value Pr(>F) #group 2 4.1716 0.01862 * #87 #--- #Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
စာမေးပွဲ၏ p-တန်ဖိုးသည် 0.01862 ဖြစ်သည်။ အကယ်၍ ကျွန်ုပ်တို့သည် 0.05 ၏ အရေးပါမှုအဆင့်ကို အသုံးပြုပါက၊ ပရိုဂရမ်သုံးခုတွင် မတူညီသောကွဲလွဲမှုများသည် တန်းတူဖြစ်သည်ဟူသော null hypothesis ကို ငြင်းပယ်ပါမည်။ သို့သော်၊ ကျွန်ုပ်တို့သည် 0.01 ၏ အရေးပါမှုအဆင့်ကို အသုံးပြုပါက၊ null hypothesis ကို ငြင်းပယ်မည်မဟုတ်ပါ။
ကျွန်ုပ်တို့၏ သာတူညီမျှမှုနှင့် ကွဲပြားမှုများ၏ သာတူညီမျှမှုဆိုင်ရာ ယူဆချက်များကို ဖြည့်ဆည်းပေးနိုင်ရန် ဒေတာကို အသွင်ပြောင်းရန် ကြိုးပမ်းနိုင်သော်လည်း၊ ယခုအချိန်တွင် ၎င်းနှင့်ပတ်သက်၍ ကျွန်ုပ်တို့ အလွန်စိုးရိမ်နေမည်မဟုတ်ပါ။
ကုသမှုကွာခြားချက်များကို ခွဲခြမ်းစိတ်ဖြာပါ။
စံပြယူဆချက်များနှင့် ကိုက်ညီကြောင်း စစ်ဆေးအတည်ပြုပြီးသည်နှင့် (သို့မဟုတ် ကျိုးကြောင်းဆီလျော်စွာ ကိုက်ညီသည်)၊ ထို့နောက် မည်သည့်ကုသမှုအုပ်စုများ တစ်ခုနှင့်တစ်ခု ကွဲပြားသည်ကို တိတိကျကျ ဆုံးဖြတ်ရန် post hoc test ပြုလုပ်နိုင်ပါသည်။
ကျွန်ုပ်တို့၏ post hoc စာမေးပွဲအတွက်၊ ကျွန်ုပ်တို့သည် နှိုင်းယှဉ်မှုများစွာအတွက် Tukey စမ်းသပ်မှုကို လုပ်ဆောင်ရန် TukeyHSD() လုပ်ဆောင်ချက်ကို အသုံးပြုပါမည်။
#perform Tukey's Test for multiple comparisons
TukeyHSD(model, conf.level=.95)
#Tukey multiple comparisons of means
# 95% family-wise confidence level
#
#Fit: aov(formula = weight_loss ~ program, data = data)
#
#$program
# diff lwr upr p adj
#BA 0.9777414 0.1979466 1.757536 0.0100545
#CA 2.5454024 1.7656076 3.325197 0.0000000
#CB 1.5676610 0.7878662 2.347456 0.0000199
p-value သည် ပရိုဂရမ်တစ်ခုစီကြားတွင် စာရင်းအင်းဆိုင်ရာ သိသာထင်ရှားသော ခြားနားချက်ရှိမရှိကို ဖော်ပြသည်။ ရလဒ်များက 0.05 အရေးပါမှုအဆင့်တွင် ပရိုဂရမ်တစ်ခုစီ၏ ပျမ်းမျှကိုယ်အလေးချိန် လျော့ကျမှုကြားတွင် ကိန်းဂဏန်းသိသိသာသာ ကွာခြားမှုရှိကြောင်း ပြသသည်။
R တွင် plot(TukeyHSD()) လုပ်ဆောင်ချက်ကို အသုံးပြု၍ Tukey စမ်းသပ်မှုမှ ထွက်ပေါ်လာသော ယုံကြည်မှု 95% ကြားကာလကိုလည်း မြင်ယောင်နိုင်သည် ။
#create confidence interval for each comparison
plot(TukeyHSD(model, conf.level=.95), las = 2)
ယုံကြည်မှုကြားကာလ၏ရလဒ်များသည် သီအိုရီစစ်ဆေးမှုများ၏ရလဒ်များနှင့် ကိုက်ညီပါသည်။
အထူးသဖြင့်၊ ပရိုဂရမ်သုံးခုကြားရှိ ပရိုဂရမ်များကြားရှိ ပျမ်းမျှကိုယ်အလေးချိန်အတွက် ယုံကြည်မှုကြားကာလတစ်ခုမှ သုည တန်ဖိုးမပါဝင်ကြောင်း၊ ပရိုဂရမ်သုံးခုကြား ပျမ်းမျှဆုံးရှုံးမှုတွင် စာရင်းအင်းအရ သိသာထင်ရှားသော ကွာခြားချက်ရှိကြောင်း ကျွန်ုပ်တို့တွေ့နိုင်ပါသည်။
၎င်းသည် ကျွန်ုပ်တို့၏ ယူဆချက်စမ်းသပ်မှု များအတွက် 0.05 ထက်နည်းသော p-တန်ဖိုးများ အားလုံးနှင့် ကိုက်ညီပါသည်။
တစ်လမ်းမောင်း ANOVA ရလဒ်များကို အစီရင်ခံခြင်း။
နောက်ဆုံးအနေနဲ့၊ တစ်လမ်းသွား ANOVA ရဲ့ ရလဒ်တွေကို ရလဒ်တွေကို အကျဉ်းချုံ့တဲ့နည်းနဲ့ အစီရင်ခံနိုင်ပါတယ်။
လေ့ကျင့်ခန်းအစီအစဉ်၏အကျိုးသက်ရောက်မှုများကိုစစ်ဆေးရန်တစ်လမ်းသွား ANOVA ကိုလုပ်ဆောင်ခဲ့သည်။ ကိုယ်အလေးချိန် (ပေါင်ဖြင့်တိုင်းတာသည်)။ ကိုယ်အလေးချိန်ကျခြင်းဆိုင်ရာ ပရိုဂရမ်သုံးခု၏ အကျိုးသက်ရောက်မှုများ (F(2, 87) = 30.83၊ p = 7.55e-11) အကြား ကိန်းဂဏန်းအရ သိသာထင်ရှားသော ကွာခြားချက်တစ်ခုရှိသည်။ Post-hoc Tukey ၏ HSD စမ်းသပ်မှုများကို ပြုလုပ်ခဲ့သည်။
ပရိုဂရမ် C တွင်ပါဝင်သူများ၏ပျမ်းမျှကိုယ်အလေးချိန်သည် ပရိုဂရမ် B (p < 0.0001) တွင်ပါဝင်သူများ၏ပျမ်းမျှကိုယ်အလေးချိန်ထက်သိသိသာသာကြီးပါသည်။
ပရိုဂရမ် C တွင် ပါဝင်သူများ၏ ပျမ်းမျှကိုယ်အလေးချိန် လျော့ကျမှုသည် ပရိုဂရမ် A (p < 0.0001) တွင် ပါဝင်သူများ၏ ပျမ်းမျှကိုယ်အလေးချိန်ထက် သိသိသာသာ ပိုများသည်။
ထို့အပြင်၊ ပရိုဂရမ် B တွင်ပါဝင်သူများ၏ပျမ်းမျှကိုယ်အလေးချိန်သည် ပရိုဂရမ် A (p = 0.01) တွင်ပါဝင်သူများ၏ပျမ်းမျှကိုယ်အလေးချိန်ထက် သိသိသာသာကြီးပါသည်။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် တစ်လမ်းသွား ANOVA များအကြောင်း နောက်ထပ်အချက်အလက်များကို ပေးဆောင်သည်-
One-Way ANOVA မိတ်ဆက်
ANOVA ဖြင့် Post-Hoc Testing ကိုအသုံးပြုခြင်းလမ်းညွှန်
လမ်းညွှန်ချက်အပြည့်အစုံ- ANOVA ရလဒ်များကို မည်သို့အစီရင်ခံမည်နည်း။