R တွင် matrix သို့မဟုတ် data frame တစ်ခုစီ၏ အတန်းတစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို မည်သို့အသုံးပြုရမည်နည်း။


R ရှိ matrix သို့မဟုတ် data frame တစ်ခုစီ၏ အတန်းတစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချရန် apply() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

ဤလုပ်ဆောင်ချက်သည် အောက်ပါအခြေခံ syntax ကိုအသုံးပြုသည်-

လျှောက်ထားပါ (X၊ MARGIN၊ FUN)

ရွှေ-

  • X- မက်ထရစ် သို့မဟုတ် ဒေတာဘလောက်၏ အမည်။
  • MARGIN- လုပ်ဆောင်ချက်ကို လုပ်ဆောင်ရမည့်အတိုင်းအတာ။ အတန်းအတွက် 1၊ ကော်လံအတွက် 2 ကိုသုံးပါ။
  • ပျော်စရာ- အသုံးချရန် လုပ်ဆောင်ချက်။

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

ဥပမာ 1- matrix အတန်းတစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးပြုပါ။

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

 #create matrix
mat <- matrix(1:15, nrow= 3 )

#view matrix
mast

     [,1] [,2] [,3] [,4] [,5]
[1,] 1 4 7 10 13
[2,] 2 5 8 11 14
[3,] 3 6 9 12 15

matrix ၏အတန်းများတွင် မတူညီသောလုပ်ဆောင်ချက်များကို အသုံးချရန် apply() လုပ်ဆောင်ချက်ကို အသုံးပြုနိုင်သည်။

 #find mean of each row
apply(mat, 1, mean)

[1] 7 8 9

#find sum of each row
apply(mat, 1, sum)

[1] 35 40 45

#find standard deviation of each row
apply(mat, 1, sd)

[1] 4.743416 4.743416 4.743416

#multiply the value in each row by 2 (using t() to transpose the results)
t(apply(mat, 1, function (x) x * 2))

     [,1] [,2] [,3] [,4] [,5]
[1,] 2 8 14 20 26
[2,] 4 10 16 22 28
[3,] 6 12 18 24 30

#normalize every row to 1 (using t() to transpose the results)
t(apply(mat, 1, function (x) x / sum(x) ))

           [,1] [,2] [,3] [,4] [,5]
[1,] 0.02857143 0.1142857 0.2 0.2857143 0.3714286
[2,] 0.05000000 0.1250000 0.2 0.2750000 0.3500000
[3,] 0.06666667 0.1333333 0.2 0.2666667 0.3333333

အတန်းတစ်ခုစီ၏ ပျမ်းမျှ သို့မဟုတ် ပေါင်းလဒ်ကို ရှာလိုပါက၊ built-in rowMeans() သို့မဟုတ် rowSums() လုပ်ဆောင်ချက်များကို အသုံးပြုရန် ပိုမိုမြန်ဆန်ကြောင်း သတိပြုပါ။

 #find mean of each row
rowMeans(mat)

[1] 7 8 9

#find sum of each row
rowSums(mat)

[1] 35 40 45

ဥပမာ 2- ဒေတာဘောင်၏အတန်းတစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချပါ။

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

 #create data frame
df <- data. frame (var1=1:3,
                 var2=4:6,
                 var3=7:9,
                 var4=10:12,
                 var5=13:15)

#view data frame
df

  var1 var2 var3 var4 var5
1 1 4 7 10 13
2 2 5 8 11 14
3 3 6 9 12 15

ဒေတာဘောင်၏အတန်းများတွင် မတူညီသောလုပ်ဆောင်ချက်များကို အသုံးပြုရန် apply() လုပ်ဆောင်ချက်ကို ကျွန်ုပ်တို့အသုံးပြုနိုင်သည်-

 #find mean of each row
apply(df, 1, mean)

[1] 7 8 9

#find sum of each row
apply(df, 1, sum)

[1] 35 40 45

#find standard deviation of each row
apply(df, 1, sd)

[1] 4.743416 4.743416 4.743416

#multiply the value in each row by 2 (using t() to transpose the results)
t(apply(df, 1, function (x) x * 2))

     var1 var2 var3 var4 var5
[1,] 2 8 14 20 26
[2,] 4 10 16 22 28
[3,] 6 12 18 24 30

#normalize every row to 1 (using t() to transpose the results)
t(apply(df, 1, function (x) x / sum(x) ))

           var1 var2 var3 var4 var5
[1,] 0.02857143 0.1142857 0.2 0.2857143 0.3714286
[2,] 0.05000000 0.1250000 0.2 0.2750000 0.3500000
[3,] 0.06666667 0.1333333 0.2 0.2666667 0.3333333

matrices နှင့်ဆင်တူသည်၊ အကယ်၍ သင်သည် အတန်းတစ်ခုစီ၏ ပျမ်းမျှ သို့မဟုတ် ပေါင်းလဒ်ကို ရှာလိုပါက၊ built-in rowMeans() သို့မဟုတ် rowSums() လုပ်ဆောင်ချက်များကို အသုံးပြုရန် ပိုမိုမြန်ဆန်သည်-

 #find mean of each row
rowMeans(df)

[1] 7 8 9

#find sum of each row
rowSums(df)

[1] 35 40 45

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

R တွင် လိုင်းနံပါတ်များ ထုတ်ယူနည်း
R တွင် COUNTIF လုပ်ဆောင်ချက်ကို မည်သို့လုပ်ဆောင်ရမည်နည်း။
R တွင် SUMIF လုပ်ဆောင်ချက်ကိုမည်သို့လုပ်ဆောင်ရမည်နည်း။

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

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