R တွင် အုပ်စုအလိုက် သီးသန့်တန်ဖိုးများကို ရေတွက်နည်း (ဥပမာများဖြင့်)
R တွင် အုပ်စုတစ်ခုစီအလိုက် ထူးခြားသောတန်ဖိုးများရေတွက်ရန် အောက်ပါနည်းလမ်းများကို သင်သုံးနိုင်သည်။
နည်းလမ်း 1- Base R ကိုသုံးပါ။
results <- aggregate(data=df, values_var~group_var, function (x) length ( unique (x)))
နည်းလမ်း 2- dplyr ကိုသုံးပါ။
library (dplyr) results <- df %>% group_by(group_var) %>% summarize(count = n_distinct (values_var))
နည်းလမ်း 3- data.table ကိုအသုံးပြုခြင်း။
library (data.table)
df <- data.table(df)
results <- df[, .(count = length ( unique (values_var))), by = group_var]
နည်းလမ်းတစ်ခုစီသည် တူညီသောရလဒ်ကို အတိအကျပြန်ပေးသည်၊ သို့သော် အခြေခံ R နည်းလမ်းသည် ကြီးမားသောဒေတာဘောင်များနှင့် အလုပ်လုပ်သောအခါ သိသိသာသာနှေးကွေးသွားတတ်သည်။
အောက်ပါဥပမာများသည် အောက်ပါဒေတာဘောင်ဖြင့် ဤနည်းလမ်းတစ်ခုစီကို လက်တွေ့အသုံးပြုနည်းကို ပြသသည်-
#create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'C', 'C', 'C'),
points=c(10, 10, 14, 14, 18, 19, 20, 20, 20))
#view data frame
df
team points
1 to 10
2 to 10
3 to 14
4 to 14
5 B 18
6 B 19
7 C 20
8 C 20
9 C 20
Method 1: Base R ကိုအသုံးပြုပြီး အုပ်စုအလိုက် ထူးခြားသောတန်ဖိုးများကို ရေတွက်ပါ။
အောက်ဖော်ပြပါ ကုဒ်သည် အခြေခံ R ကို အသုံးပြု၍ အဖွဲ့တစ်ခုစီအတွက် ထူးခြားသော အမှတ်တန်ဖိုးများ အရေအတွက်ကို မည်သို့ရေတွက်ရမည်ကို ပြသသည်-
#count unique points values by team
results <- aggregate(data=df, points~team, function (x) length ( unique (x)))
#view results
results
team points
1 TO 2
2 B 2
3 C 1
ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-
- Team A အတွက် ထူးခြားသော အမှတ်တန်ဖိုး 2 ခု ရှိသည်။
- Team B အတွက် ထူးခြားသော အမှတ်တန်ဖိုး 2 ခု ရှိသည်။
- Team C အတွက် ထူးခြားသော အမှတ်တန်ဖိုး 1 ခု ရှိပါသည်။
နည်းလမ်း 2- dplyr ကို အသုံးပြု၍ အုပ်စုအလိုက် ထူးခြားသောတန်ဖိုးများကို ရေတွက်ပါ။
အောက်ပါ ကုဒ်သည် dplyr ကို အသုံးပြု၍ အဖွဲ့တစ်ခုစီအတွက် ထူးခြားသော အမှတ်တန်ဖိုးများ အရေအတွက်ကို ရေတွက်ပုံကို ပြသသည်-
library (dplyr)
#count unique points values by team
results <- df %>%
group_by(team) %>%
summarize(count = n_distinct (points))
#view results
results
# A tibble: 3 x 2
team count
1 TO 2
2 B 2
3 C 1
ဤရလဒ်များသည် အခြေခံ R နည်းလမ်းနှင့် ကိုက်ညီကြောင်း သတိပြုပါ။
နည်းလမ်း 3- data.table ကို အသုံးပြု၍ အုပ်စုအလိုက် ထူးခြားသောတန်ဖိုးများကို ရေတွက်ပါ။
အောက်ပါကုဒ်သည် data.table ကို အသုံးပြု၍ အဖွဲ့တစ်ခုစီအတွက် ထူးခြားသော အမှတ်တန်ဖိုးများ အရေအတွက်ကို ရေတွက်ပုံပြသည်-
library (data.table)
#convert data frame to data table
df <- data.table(df)
#count unique points values by team
results <- df[, .(count = length ( unique (points))), by = team]
#view results
results
team count
1 TO 2
2:B2
3: C 1
ဤရလဒ်များသည် ယခင်နည်းလမ်းနှစ်ခုနှင့် ကိုက်ညီကြောင်း သတိပြုပါ။
ထပ်လောင်းအရင်းအမြစ်များ
အောက်ဖော်ပြပါ သင်ခန်းစာများသည် dplyr ကိုအသုံးပြု၍ အခြားဘုံလုပ်ဆောင်ချက်များကို မည်သို့လုပ်ဆောင်ရမည်ကို ရှင်းပြသည်-
dplyr ကိုသုံးပြီး တန်ဖိုးတွေကို ဘယ်လိုပြန်ကုဒ်မလဲ။
NA ကို dplyr တွင် Zero ဖြင့် အစားထိုးနည်း
dplyr ကို အသုံးပြု၍ အုပ်စုအလိုက် ကိန်းရှင်များကို စီရန်
dplyr ကိုသုံးပြီး အုပ်စုအလိုက် ပထမအတန်းကို ဘယ်လိုရွေးမလဲ။