R တွင် aov() နှင့် anova() ကို မည်သည့်အချိန်တွင် အသုံးပြုရမည်နည်း။


R ရှိ aov() နှင့် anova() လုပ်ဆောင်ချက်များသည် ဆင်တူသည်ဟုထင်ရသော်လည်း၊ ကျွန်ုပ်တို့သည် ၎င်းတို့ကို မတူညီသောအခြေအနေနှစ်ခုတွင် အသုံးပြုပါသည်။

ANOVA မော်ဒယ်တစ်ခုနှင့် ကိုက်ညီပြီး ANOVA အနှစ်ချုပ်ဇယားတွင် ရလဒ်များကို ပြသလိုသောအခါတွင် aov() ကို အသုံးပြုပါသည်။

အချို့သော coefficients အစုံနှင့် regression model တစ်ခုသည် coefficients အပိုင်းခွဲတစ်ခုသာရှိသော model ထက် သိသာထင်ရှားစွာ ပိုမိုကောင်းမွန်ကိုက်ညီမှုရှိမရှိ ဆုံးဖြတ်ရန် nested regression model များ၏ အံဝင်ခွင်ကျကို နှိုင်းယှဉ်လိုသောအခါ anova() ကို အသုံးပြုပါသည်။

အောက်ဖော်ပြပါ ဥပမာများသည် လုပ်ဆောင်ချက်တစ်ခုစီကို လက်တွေ့အသုံးချနည်းကို ပြသထားသည်။

ဥပမာ 1- R တွင် aov() ကိုအသုံးပြုနည်း

မတူညီသော လေ့ကျင့်ခန်းအစီအစဉ်သုံးခုသည် ကိုယ်အလေးချိန်ကျခြင်းအပေါ် မတူညီသောအကျိုးသက်ရောက်မှုရှိမရှိ ဆုံးဖြတ်ရန် တစ်လမ်းသွား ANOVA ကို လုပ်ဆောင်လိုသည်ဆိုကြပါစို့။

ကျွန်ုပ်တို့သည် ပရိုဂရမ် A၊ ပရိုဂရမ် B သို့မဟုတ် ပရိုဂရမ် C ကို တစ်လကြာ လိုက်နာရန် လူ 30 ကို ကျပန်းသတ်မှတ်ထားသော စမ်းသပ်မှုတစ်ခုတွင် ပါဝင်ရန် လူ 90 ကို စုဆောင်းထားပါသည်။

ဤတစ်လမ်းသွား ANOVA ကိုလုပ်ဆောင်ရန် R တွင် aov() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို အောက်ပါကုဒ်က ပြသသည်-

 #make this example reproducible
set. seeds (0)

#create data frame
df <- 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)))

#fit one-way anova using aov()
fit <- aov(weight_loss ~ program, data=df)

#view results
summary(fit)

            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

မော်ဒယ်ရလဒ်များမှ၊ ပရိုဂရမ်၏ p-value (0.0000000000755) သည် 0.05 ထက်နည်းသည်၊ ဆိုလိုသည်မှာ ပရိုဂရမ်သုံးခုကြားရှိ ပျှမ်းမျှကိုယ်အလေးချိန်အတွက် စာရင်းအင်းအရ သိသာထင်ရှားသော ကွာခြားချက်ရှိနေသည်ကို တွေ့နိုင်ပါသည်။

ဥပမာ 2- R တွင် anova() ကိုအသုံးပြုနည်း

ကောလိပ်တစ်ခုမှ ကျောင်းသားများအတွက် စာမေးပွဲရမှတ်များကို ခန့်မှန်းရန် လေ့လာထားသည့် နာရီအရေအတွက်ကို အသုံးပြုလိုသည်ဆိုပါစို့။ အောက်ဖော်ပြပါ ဆုတ်ယုတ်မှုပုံစံနှစ်ခုကို လိုက်လျောညီထွေဖြစ်အောင် ကျွန်ုပ်တို့ ဆုံးဖြတ်နိုင်သည်-

မော်ဒယ်အပြည့်အစုံ- ရမှတ် = β 0 + B 1 (နာရီ) + B 2 (နာရီ) 2

လျှော့ချထားသော မော်ဒယ်- ရမှတ် = β 0 + B 1 (နာရီ)

အောက်ဖော်ပြပါကုဒ်သည် မော်ဒယ်အပြည့်သည် လျှော့ချထားသောမော်ဒယ်ထက် သိသိသာသာပို၍အံဝင်ခွင်ကျဖြစ်မဖြစ်ကို ဆုံးဖြတ်ရန် R ရှိ anova() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်ကို ပြသသည်-

 #make this example reproducible
set. seeds (1)

#create dataset
df <- data.frame(hours = runif(50, 5, 15), score=50)
df$score = df$score + df$hours^3/150 + df$hours*runif(50, 1, 2)

#view head of data
head(df)

      hours score
1 7.655087 64.30191
2 8.721239 70.65430
3 10.728534 73.66114
4 14.082078 86.14630
5 7.016819 59.81595
6 13.983897 83.60510

#fit full model
full <- lm(score ~ poly(hours,2), data=df)

#fit reduced model
reduced <- lm(score ~ hours, data=df)

#perform lack of fit test using anova()
anova(full, reduced)

Analysis of Variance Table

Model 1: score ~ poly(hours, 2)
Model 2: score ~ hours
  Res.Df RSS Df Sum of Sq F Pr(>F)   
1 47 368.48                                
2 48 451.22 -1 -82.744 10.554 0.002144 **
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

အထွက်ဇယားရှိ p-value (0.002144) သည် 0.05 ထက်နည်းသောကြောင့်၊ ကျွန်ုပ်တို့သည် စမ်းသပ်မှု၏ null hypothesis ကို ငြင်းပယ်နိုင်ပြီး မော်ဒယ်အပြည့်အစုံသည် လျှော့ထားသောမော်ဒယ်ထက် ကိန်းဂဏန်းအရ သိသိသာသာ ပိုကောင်းသည်ဟု ကောက်ချက်ချနိုင်သည်။

ထပ်လောင်းအရင်းအမြစ်များ

အောက်ဖော်ပြပါ သင်ခန်းစာများသည် R တွင် အခြားဘုံအလုပ်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-

တစ်လမ်းမောင်း ANOVA ကို R ဖြင့် မည်သို့လုပ်ဆောင်ရမည်နည်း။
R ဖြင့် နှစ်လမ်းသွား ANOVA ကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
R ဖြင့် ANOVA ထပ်ခါတလဲလဲတိုင်းတာနည်း

မှတ်ချက်တစ်ခုထည့်ပါ။

သင့် email လိပ်စာကို ဖော်ပြမည် မဟုတ်ပါ။ လိုအပ်သော ကွက်လပ်များကို * ဖြင့်မှတ်သားထားသည်