R တွင် အကျယ်ပြန့်နှင့် ရှည်လျားသော ဖော်မတ်များကြား ဒေတာကို ပုံသွင်းနည်း


R ရှိ ဒေတာဘောင်ကို ကျယ်ပြန့်သော သို့မဟုတ် အရှည်ဖော်မတ် ဖြင့် ပြသနိုင်သည်။

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

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

  • pivot_longer() : ဒေတာဘလောက်တစ်ခုကို ကျယ်ကျယ်ပြန့်ပြန့်ဖော်မတ်မှ အရှည်ဖော်မတ်သို့ ပြန်လည်ပြင်ဆင်သည်။
  • pivot_wider() : ရှည်သောဖော်မတ်မှ ကျယ်ပြန့်သောဖော်မတ်သို့ ဒေတာပိတ်ဆို့ခြင်းကို ပြန်လည်ပုံဖော်သည်။

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

ဥပမာ 1- ဒေတာကို Wide မှ Long သို့ ပြန်လည်ပုံဖော်ပါ။

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

 #create data frame
df <- data. frame (player=c('A', 'B', 'C', 'D'),
                 year1=c(12, 15, 19, 19),
                 year2=c(22, 29, 18, 12))

#view data frame
df

  player year1 year2
1 to 12 22
2 B 15 29
3 C 19 18
4 D 19 12

ကျွန်ုပ်တို့သည် ဤဒေတာဘောင်ကို ဖော်မက်ရှည်အဖြစ် လှည့်ရန် pivot_longer() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

 library (tidyr)

#pivot the data frame into a long format
df %>% pivot_longer(cols=c(' year1 ', ' year2 '),
                    names_to=' year ',
                    values_to=' points ')

# A tibble: 8 x 3
  player year points
      
1 A year1 12
2 A year2 22
3 B year1 15
4 B year2 29
5 C year1 19
6 C year2 18
7 D year1 19
8 D year2 12

year1 နှင့် year2 ကော်လံအမည်များကို “ year” ဟုခေါ်သော ကော်လံအသစ်တွင် တန်ဖိုးများအဖြစ် ယခုအသုံးပြုပြီး ထိုမူရင်းကော်လံများမှ တန်ဖိုးများကို “ points” ဟုခေါ်သော ကော်လံအသစ်တွင် ထားရှိသည်ကို သတိပြုပါ။

နောက်ဆုံးရလဒ်မှာ ဒေတာဘောင်ရှည်တစ်ခုဖြစ်သည်။

မှတ်ချက်pivot_longer() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

ဥပမာ 2- Data ကို Long မှ Wide သို့ Reshape လုပ်ပါ။

R တွင် အောက်ပါဒေတာဘောင် ရှိသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (player=rep(c('A', 'B'), each= 4 ),
                 year=rep(c(1, 1, 2, 2), times= 2 ),
                 stat=rep(c('points', 'assists'), times= 4 ),
                 amount=c(14, 6, 18, 7, 22, 9, 38, 4))

#view data frame
df

  player year stat amount
1 A 1 points 14
2 A 1 assists 6
3 A 2 points 18
4 A 2 assists 7
5 B 1 points 22
6 B 1 assists 9
7 B 2 points 38
8 B 2 assists 4

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

 library (tidyr)

#pivot the data frame into a wide format
df %>% pivot_wider(names_from = stat, values_from = amount)

# A tibble: 4 x 4
  player year points assists
         
1 A 1 14 6
2 A 2 18 7
3 B 1 22 9
4 B 2 38 4

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

အဆုံးရလဒ်သည် ကြီးမားသော ဒေတာပိတ်ဆို့ခြင်း ဖြစ်သည်။

မှတ်ချက်pivot_wider() လုပ်ဆောင်ချက်အတွက် စာရွက်စာတမ်းအပြည့်အစုံကို ဤနေရာတွင် ရှာတွေ့နိုင်ပါသည်။

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

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

R တွင်အုပ်စုအလိုက်ထူးခြားသောတန်ဖိုးများကိုရေတွက်နည်း
R တွင်မဟုတ်သော NA တန်ဖိုးများကို ရေတွက်နည်း
R တွင်ဆွေမျိုးကြိမ်နှုန်းဇယားများဖန်တီးနည်း

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

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