R တွင် apply(), lapply(), sapply() နှင့် tapply() တို့ဖြစ်သည်။
ဤသင်ခန်းစာတွင် ထည့်သွင်းထားသော R လုပ်ဆောင်ချက်များသည် apply() ၊ sapply() ၊ lapply() နှင့် tapply() တို့၏ လုပ်ဆောင်ချက်တစ်ခုစီကို မည်သည့်အချိန်နှင့် အသုံးပြုရပုံ နမူနာများနှင့်အတူ ရှင်းပြထားသည်။
လျှောက်ထား()
မက်ထရစ် သို့မဟုတ် ဒေတာဘောင်၏ အတန်းများ သို့မဟုတ် ကော်လံများတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချလိုသောအခါတွင် apply() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
apply() function ၏ အခြေခံ syntax မှာ-
လျှောက်ထားပါ (X၊ MARGIN၊ FUN)
- X သည် array သို့မဟုတ် data block ၏ အမည်ဖြစ်သည်။
- MARGIN သည် လုပ်ဆောင်ချက်တစ်ခုကို လုပ်ဆောင်ရန် မည်သည့်အတိုင်းအတာကို ဖော်ပြသည် (1 = အတန်း၊ 2 = ကော်လံ)
- FUN သည် သင်လုပ်ဆောင်လိုသော သီးခြားလုပ်ဆောင်မှု (ဥပမာ- min၊ max၊ sum၊ average စသည်)
အောက်ပါကုဒ်သည် လုပ်ဆောင်မှုတွင် apply() ၏ နမူနာများစွာကို ပြသထားသည်။
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find the sum of each row apply(data, 1, sum) #[1] 19 22 24 29 23 #find the sum of each column apply(data, 2, sum) #abc #32 29 56 #find the mean of each row apply(data, 1, mean) #[1] 6.333333 7.333333 8.000000 9.666667 7.666667 #find the mean of each column, rounded to one decimal place round(apply(data, 2, mean), 1) #abc #6.4 5.8 11.2 #find the standard deviation of each row apply(data, 1, sd) #[1] 6.806859 6.658328 2.645751 2.516611 1.527525 #find the standard deviation of each column apply(data, 2, sd) #abc #4.449719 1.788854 3.563706
လျှောက်ထား()
စာရင်းတစ်ခု၊ vector သို့မဟုတ် ဒေတာဘောင်တစ်ခုစီ၏ လုပ်ဆောင်ချက်တစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချလိုသည့်အခါ lapply() လုပ်ဆောင်ချက်ကို အသုံးပြုပါ။
lapply() function ၏ အခြေခံ syntax မှာ-
လက်ဆွဲ(X၊ ပျော်စရာ)
- X သည် စာရင်း၊ ကွက်လပ် သို့မဟုတ် ဒေတာဘောင်၏ အမည်ဖြစ်သည်။
- FUN သည် သင်လုပ်ဆောင်လိုသော သီးခြားလုပ်ဆောင်မှုဖြစ်သည်။
အောက်ပါကုဒ်သည် ဒေတာဘောင်ရှိ ကော်လံများပေါ်တွင် lapply() ကို အသုံးပြုခြင်း၏ နမူနာများစွာကို သရုပ်ပြသည်။
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find mean of each column and return results as a list apply(data, mean) #$a # [1] 6.4 # # $b # [1] 5.8 # # $c # [1] 11.2 #multiply values in each column by 2 and return results as a list lapply(data, function(data) data*2) #$a # [1] 2 6 14 24 18 # # $b # [1] 8 8 12 14 16 # # $c # [1] 28 30 22 20 12
စာရင်းများတွင် လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ရန် lapply() ကို အသုံးပြုနိုင်သည်။ အောက်ပါနမူနာများက ၎င်းကိုပြုလုပ်ပုံကို ပြသထားသည်။
#create a list x <- list(a=1, b=1:5, c=1:10) x #$a # [1] 1 # # $b # [1] 1 2 3 4 5 # # $c # [1] 1 2 3 4 5 6 7 8 9 10 #find the sum of each element in the list lapply(x, sum) #$a # [1] 1 # # $b # [1] 15 # # $c #[1]55 #find the mean of each element in the list lapply(x, mean) #$a # [1] 1 # # $b # [1] 3 # # $c # [1] 5.5 #multiply values of each element by 5 and return results as a list lapply(x, function(x) x*5) #$a # [1] 5 # # $b # [1] 5 10 15 20 25 # # $c # [1] 5 10 15 20 25 30 35 40 45 50
လျှောက်ထား()
စာရင်းတစ်ခု၊ vector သို့မဟုတ် ဒေတာဘောင်တစ်ခုစီ၏ လုပ်ဆောင်ချက်တစ်ခုစီတွင် လုပ်ဆောင်ချက်တစ်ခုကို အသုံးချလိုသောအခါတွင် sapply() လုပ်ဆောင်ချက်ကို အသုံးပြု၍ စာရင်းတစ်ခုအစား vector တစ်ခုကို ရယူပါ။
sapply() function ၏ အခြေခံ syntax မှာ-
လျှောက်ထားပါ (X၊ FUN)
- X သည် စာရင်း၊ ကွက်လပ် သို့မဟုတ် ဒေတာဘောင်၏ အမည်ဖြစ်သည်။
- FUN သည် သင်လုပ်ဆောင်လိုသော သီးခြားလုပ်ဆောင်မှုဖြစ်သည်။
အောက်ပါကုဒ်သည် ဒေတာဘောင်ရှိ ကော်လံများပေါ်တွင် sapply() ကို အသုံးပြုခြင်း၏ နမူနာများစွာကို သရုပ်ပြသည်။
#create a data frame with three columns and five rows data <- data.frame(a = c(1, 3, 7, 12, 9), b = c(4, 4, 6, 7, 8), c = c(14, 15, 11, 10, 6)) data #abc #1 1 4 14 #2 3 4 15 #3 7 6 11 #4 12 7 10 #5 9 8 6 #find mean of each column and return results as a vector sapply(data, mean) #abc #6.4 5.8 11.2 #multiply values in each column by 2 and return results as a matrix sapply(data, function(data) data*2) #abc #[1,] 2 8 28 #[2,] 6 8 30 #[3,] 14 12 22 #[4,] 24 14 20 #[5,] 18 16 12
စာရင်းများတွင် လည်ပတ်လုပ်ဆောင်ရန် sapply() ကို အသုံးပြုနိုင်သည်။ အောက်ပါနမူနာများက ၎င်းကိုပြုလုပ်ပုံကို ပြသထားသည်။
#create a list x <- list(a=1, b=1:5, c=1:10) x #$a # [1] 1 # # $b # [1] 1 2 3 4 5 # # $c # [1] 1 2 3 4 5 6 7 8 9 10 #find the sum of each element in the list sapply(x, sum) #abc #1 15 55 #find the mean of each element in the list sapply(x, mean) #abc #1.0 3.0 5.5
နှိပ်()
လုပ်ဆောင်ချက်တစ်ခုကို vector တစ်ခု၏ အစုအဝေးသို့ အသုံးချလိုသည့်အခါတွင် tapply() လုပ်ဆောင်ချက်ကို အသုံးပြုပြီး အပိုင်းခွဲများကို အခြား vector က သတ်မှတ်ပေးသည်၊ များသောအားဖြင့် အချက်တစ်ခုဖြစ်သည်။
tapply() လုပ်ဆောင်ချက်၏ အခြေခံ syntax မှာ-
နှိပ်ပါ (X၊ INDEX၊ FUN)
- X သည် အရာဝတ္တု၏အမည်ဖြစ်ပြီး များသောအားဖြင့် vector တစ်ခုဖြစ်သည်။
- INDEX သည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောအချက်များစာရင်းဖြစ်သည်။
- FUN သည် သင်လုပ်ဆောင်လိုသော သီးခြားလုပ်ဆောင်မှုဖြစ်သည်။
အောက်ဖော်ပြပါ ကုဒ်သည် မျက်ဝန်းတွင် ထည့်သွင်းထားသော R ဒေတာ အတွဲ တွင် tapply() ကို အသုံးပြုခြင်း၏ နမူနာကို ပြသသည်။
#view first six lines of iris dataset head(iris) # Sepal.Length Sepal.Width Petal.Length Petal.Width Species #1 5.1 3.5 1.4 0.2 setosa #2 4.9 3.0 1.4 0.2 setosa #3 4.7 3.2 1.3 0.2 setosa #4 4.6 3.1 1.5 0.2 setosa #5 5.0 3.6 1.4 0.2 setosa #6 5.4 3.9 1.7 0.4 setosa #find the max Sepal.Length of each of the three Species tapply(iris$Sepal.Length, iris$Species, max) #setosa versicolor virginica #5.8 7.0 7.9 #find the mean Sepal.Width of each of the three Species tapply(iris$Sepal.Width, iris$Species, mean) # setosa versicolor virginica # 3,428 2,770 2,974 #find the minimum Petal.Width of each of the three Species tapply(iris$Petal.Width, iris$Species, min) # setosa versicolor virginica #0.1 1.0 1.4