R တွင် lapply နှင့် sapply – ကွာခြားချက်ကား အဘယ်နည်း။


R ရှိ lapply() လုပ်ဆောင်ချက်ကို စာရင်းတစ်ခု၏ ဒြပ်စင်တစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချရန်နှင့် လိုက်လျောညီထွေရှိသော စာရင်း တစ်ခုကို ရယူရန် အသုံးပြုနိုင်သည်။

sapply() လုပ်ဆောင်ချက်ကို စာရင်းတစ်ခု၊ vector သို့မဟုတ် ဒေတာဘောင်တစ်ခုစီ၏ ဒြပ်စင်တစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချရန်လည်းအသုံးပြုနိုင်သော်လည်း ရလဒ်အနေဖြင့် vector တစ်ခုကို ပြန်ပေးသည်။

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

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

ဒေတာဘောင်တစ်ခုစီ၏ ကော်လံတစ်ခုစီတွင် တန်ဖိုးတစ်ခုစီကို 2 ဖြင့် မြှောက်ရန် lapply() လုပ်ဆောင်ချက်ကို အောက်ပါကုဒ်တွင် ဖော်ပြသည်-

 #create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5),
                 y=c(4, 4, 6, 7, 8),
                 z=c(7, 7, 9, 9, 9))

#view data frame
df

  X Y Z
1 1 4 7
2 2 4 7
3 2 6 9
4 3 7 9
5 5 8 9

#multiply each value in each column by 2
lapply(df, function (df) df*2)

$x
[1] 2 4 4 6 10

$y
[1] 8 8 12 14 16

$z
[1] 14 14 18 18 18

ရလဒ်သည် စာရင်းတစ်ခုဖြစ်ကြောင်း သတိပြုပါ။

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

ဒေတာဘောင်တစ်ခုစီ၏ ကော်လံတစ်ခုစီတွင် တန်ဖိုးတစ်ခုစီကို 2 ဖြင့် မြှောက်ရန် sapply() လုပ်ဆောင်ချက်ကို အောက်ပါကုဒ်တွင် ဖော်ပြသည်-

 #create data frame
df <- data. frame (x=c(1, 2, 2, 3, 5),
                 y=c(4, 4, 6, 7, 8),
                 z=c(7, 7, 9, 9, 9))

#view data frame
df

  X Y Z
1 1 4 7
2 2 4 7
3 2 6 9
4 3 7 9
5 5 8 9

#multiply each value in each column by 2
sapply(df, function (df) df*2)

      X Y Z
[1,] 2 8 14
[2,] 4 8 14
[3,] 4 12 18
[4,] 6 14 18
[5,] 10 16 18

ရလဒ်သည် vector matrix ဖြစ်သည်ကို သတိပြုပါ။

မက်ထရစ်အစား ဒေတာဘောင်တစ်ခု ပြန်ပို့ရန် as.data.frame() ကို အသုံးပြုနိုင်ကြောင်း သတိပြုပါ-

 #multiply each value in each column by 2 and return a data frame
as. data . frame (sapply(df, function (df) df*2))

   X Y Z
1 2 8 14
2 4 8 14
3 4 12 18
4 6 14 18
5 10 16 18

ဘယ်အချိန်မှာ lapply() သို့မဟုတ် sapply()

ကိစ္စများ၏ 99% တွင် vector သို့မဟုတ် matrix ကိုပြန်ရန် ပို၍ အဓိပ္ပါယ်ရှိသောကြောင့် sapply() ကို သုံးပါမည်။

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

sapply() နှင့် lappy() တို့သည် vector၊ matrix သို့မဟုတ် data frame တစ်ခုပေါ်တွင် တူညီသော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ကြောင်း သတိပြုပါ။ ပြန်ပေးသောအရာဝတ္ထု၏ class တွင် တစ်ခုတည်းသော ခြားနားချက်ဖြစ်သည်။

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

R ရှိ ဒေတာဘောင်အတန်းတစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို မည်သို့အသုံးပြုရမည်နည်း။
R တွင် colSums() လုပ်ဆောင်ချက်ကို မည်သို့အသုံးပြုရမည်နည်း။
R တွင် rowSums() function ကိုအသုံးပြုနည်း

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

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