Dplyr တွင် တစ်ခုမှလွဲ၍ ကော်လံအားလုံးဖြင့် အုပ်စုဖွဲ့နည်း


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

 df %>%
  group_by(across(c( - this_column)))

ဤဥပမာသည် ဤ_ကော်လံ ဟုခေါ်သော ကော်လံမှလွဲ၍ ဒေတာဘောင်အားလုံးကို ကော်လံအားလုံးဖြင့် အုပ်စုဖွဲ့ထားသည်။

ဖော်မြူလာရှိ အနုတ်လက္ခဏာလက္ခဏာ ( ) သည် dplyr အား group_by() လုပ်ဆောင်ချက်တွင် ထိုကော်လံကို ဖယ်ထုတ်ရန် ညွှန်ပြသည်ကို သတိပြုပါ။

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

ဥပမာ- dplyr တွင် တစ်ခုမှလွဲ၍ ကော်လံအားလုံးဖြင့် အုပ်စုဖွဲ့ပါ။

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

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
                 position=c('G', 'G', 'F', 'F', 'G', 'G', 'F', 'F'),
                 starter=c('Y', 'Y', 'Y', 'N', 'Y', 'N', 'N', 'N'),
                 dots=c(99, 104, 119, 113))

#view data frame
df

  team position starter points
1 AGY 99
2 AGY 104
3 AFY 119
4 AFN 113
5 BGY 99
6 BGN 104
7 BFN 119
8 BFN 113

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

ဒါကိုလုပ်ဖို့ အောက်ပါ syntax ကို သုံးနိုင်ပါတယ်။

 library (dplyr)

#group by all columns except points column and find max points
df %>%
  group_by(across(c( - points))) %>%
  mutate(max_points = max(points))

# A tibble: 8 x 5
# Groups: team, position, starter [6]
  team position starter points max_points
                 
1 AGY 99 104
2 AGY 104 104
3 AFY 119 119
4 AFN 113 113
5 BGY 99 99
6 BGN 104 104
7 BFN 119 119
8 BFN 113 119

ရလဒ်မှ ကျွန်ုပ်တို့ မြင်နိုင်သည်-

  • A ၏ အသင်း တန်ဖိုး၊ အနေအထား တန်ဖိုး G နှင့် Y ၏ စတင် တန်ဖိုးသည် 104 ရှိသော ကစားသမားအားလုံးအတွက် အများဆုံးအမှတ်တန်ဖိုးဖြစ်သည်။
  • အသင်း တန်ဖိုး A ၊ ရာထူး တန်ဖိုး F နှင့် Y ၏ စတင် တန်ဖိုးသည် 119 ရှိသော အသင်းကစားသမားအားလုံးအတွက် အများဆုံးအမှတ်တန်ဖိုးဖြစ်သည်။
  • A ၏ အသင်း တန်ဖိုး၊ အနေအထား တန်ဖိုး F နှင့် N ၏ စတင် တန်ဖိုးသည် 113 ရှိသော ကစားသမားအားလုံးအတွက် အများဆုံးအမှတ်တန်ဖိုးဖြစ်သည်။

နောက် … ပြီးတော့။

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

 library (dplyr)

#group by all columns except points column and find max points
df %>%
  group_by(across(c(team, position, starter))) %>%
  mutate(max_points = max(points))

# A tibble: 8 x 5
# Groups: team, position, starter [6]
  team position starter points max_points
                 
1 AGY 99 104
2 AGY 104 104
3 AFY 119 119
4 AFN 113 113
5 BGY 99 99
6 BGN 104 104
7 BFN 119 119
8 BFN 113 119

၎င်းသည် ယခင်ဥပမာ၏ရလဒ်နှင့် ကိုက်ညီသည်။

သို့သော်၊ group_by() လုပ်ဆောင်ချက်ရှိ အမှတ်များ ကော်လံများကို အခြားကော်လံများအားလုံး၏ အမည်များကို ရိုက်ထည့်ခြင်းထက် ပိုမိုလွယ်ကူကြောင်း သတိပြုပါ။

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

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

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

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

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