A- na ဖြင့် အတန်းများကို မဖျက်ဘဲ aggregate() ကို မည်သို့အသုံးပြုရမည်နည်း။


ဒေတာဘောင်ရှိ ကိန်းရှင်များအတွက် အကျဉ်းချုပ်ကိန်းဂဏန်းများကို တွက်ချက်ရန် R တွင် Aggregate() လုပ်ဆောင်ချက်ကို သင်အသုံးပြုနိုင်ပါသည်။

ပုံမှန်အားဖြင့်၊ Aggregate() လုပ်ဆောင်ချက်သည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော NA တန်ဖိုးများပါသည့် ဒေတာဘောင်တစ်ခုတွင် အတန်းတစ်ခုနှင့်တွေ့ပါက၊ တွက်ချက်မှုများလုပ်ဆောင်သောအခါတွင် ၎င်းသည် အတန်းကို ဖယ်ရှားမည်ဖြစ်သည်။

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

ဤအပြုအမူကိုရှောင်ရှားရန်၊ သင်သည် Aggregate() လုပ်ဆောင်ချက်တွင် na.action=NULL အငြင်းအခုံကို အသုံးပြုနိုင်သည်။

အောက်ဖော်ပြပါ ဥပမာသည် ဤအငြင်းအခုံကို လက်တွေ့တွင် မည်သို့အသုံးပြုရမည်ကို ပြသထားသည်။

ဥပမာ- R တွင် aggegate() ကိုသုံး၍ NA ဖြင့် လိုင်းများကို မဖျက်ပါနှင့်

အသင်းအမျိုးမျိုးမှ ဘတ်စကက်ဘောကစားသမားများ၏ ရမှတ်များနှင့် ပံ့ပိုးကူညီမှုများကို ပြသသော R တွင် အောက်ပါဒေတာဘောင်ရှိသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'C', 'C'),
                 points=c(5, 9, 12, 14, 14, 13, 10, 6, 15, 18),
                 assists=c(NA, 4, 4, 5, 3, 6, 8, 4, 10, NA))

#view data frame
df

   team points assists
1 to 5 NA
2 to 9 4
3 to 12 4
4 to 14 5
5 A 14 3
6 B 13 6
7 B 10 8
8 B 6 4
9 C 15 10
10 C 18 NA

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

 #attempt to calculate sum of points and assists, grouped by team
aggregate(. ~ team, data=df, FUN=sum, na. rm = TRUE )

  team points assists
1 A 49 16
2 B 29 18
3 C 15 10

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

မူရင်းဒေတာဘောင်ကိုကြည့်ရှုပြီး Team C တွင် အမှတ်များ ကော်လံတွင် တန်ဖိုးနှစ်ခုရှိသည်ကို တွေ့ရှိခြင်းဖြင့် ၎င်းကို အတည်ပြုနိုင်သည်-

  • ၁၅
  • ၁၈

ဒါကြောင့် အသင်း C မှာ စုစုပေါင်း 33 မှတ် ရှိသင့်ပေမယ့် ရလဒ်က 15 မှတ်ပဲ ရှိသင့်ပါတယ်။

အဘယ်ကြောင့်ဆိုသော် ရမှတ် တန်ဖိုး 18 ရှိသော အတန်းသည် assists ကော်လံရှိ NA တန်ဖိုးရှိသောကြောင့်၊ ဆိုလိုသည်မှာ ဤအတန်းသည် အသင်း၏ရမှတ်များနှင့် ပေါင်းလဒ်ကို တွက်ချက်ရာတွင် အမှန်တကယ် အသုံးမပြုခြင်းကြောင့်ဖြစ်သည်။

တွက်ချက်မှုများလုပ်ဆောင်သောအခါ NA တန်ဖိုးများပါသည့်အတန်းများကို မဖယ်ရှားကြောင်းသေချာစေရန်၊ ကျွန်ုပ်တို့သည် အောက်ပါအတိုင်း na.action=NULL အကြောင်းပြချက်ကို အသုံးပြုရန်လိုအပ်သည်-

 #calculate sum of points and assists, grouped by team (don't drop NA rows)
aggregate(. ~ team, data=df, FUN=sum, na. rm = TRUE , na. action =NULL)

  team points assists
1 A 54 16
2 B 29 18
3 C 33 10

Aggregate() လုပ်ဆောင်ချက်သည် ဤအကြိမ်တွင် 33 နှင့် ညီမျှသော team C အတွက် အမှတ် တန်ဖိုးများ ပေါင်းလဒ်ကို မှန်ကန်စွာ ပြန်ပေးကြောင်း သတိပြုပါ။

မှတ်ချက်na.rm=TRUE အကြောင်းပြချက်သည် တိကျသောကော်လံတစ်ခုတွင် တွက်ချက်မှုတစ်ခုလုပ်ဆောင်သည့်အခါ NA တန်ဖိုးများကို လျစ်လျူရှု သင့်သည်ဟု သတ်မှတ်သည်။

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

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

R တွင် summary() function ကိုအသုံးပြုနည်း
R တွင် အုပ်စုအလိုက် ပျမ်းမျှတွက်နည်း
R တွင် သရုပ်ဖော်ကိန်းဂဏန်း တွက်ချက်နည်း

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

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