R တွင် do.call ကိုအသုံးပြုပုံ (ဥပမာ 3 ခု)


စာရင်းတစ်ခုလုံးအတွက် ပေးထားသောလုပ်ဆောင်ချက်ကို အသုံးပြုရန် R တွင် do.call() ကို အသုံးပြုနိုင်သည်။

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

 do. call (function, list)

အောက်ဖော်ပြပါ ဥပမာများသည် do.call() ကို လက်တွေ့တွင် အသုံးပြုနည်းကို ပြသထားသည်။

ဥပမာ 1- do.call() ကို sum ဖြင့် သုံးပါ။

စာရင်းတစ်ခုရှိ တန်ဖိုးများ၏ပေါင်းလဒ်များကို တွက်ချက်ရန် အောက်ပါကုဒ်သည် do.call() ကို အသုံးပြုနည်းကို ပြသသည်-

 #create list
values_list <- list(A=c(1, 2, 3), B=c(7, 5, 10), C=c(9, 9, 2))

#calculate sum of values in list
do. call (sum, values_list)

[1] 48

စာရင်းရှိတန်ဖိုးများ၏ပေါင်းလဒ်သည် 48 ဖြစ်သည်။

စာရင်းနှင့် တိုက်ရိုက် sum() ကို ရိုးရိုးရှင်းရှင်း အသုံးပြုရန် ကြိုးစားပါက အမှားအယွင်းတစ်ခု ရရှိမည်ကို သတိပြုပါ-

 #create list
values_list <- list(A=c(1, 2, 3), B=c(7, 5, 10), C=c(9, 9, 2))

#attempt to sum values in list
sum(values_list)

Error in sum(values_list): invalid 'type' (list) of argument

ဥပမာ 2- do.call() ကို ပျမ်းမျှအားဖြင့် သုံးပါ။

စာရင်းတစ်ခုရှိ ပျမ်းမျှတန်ဖိုးများကို တွက်ချက်ရန်အတွက် အောက်ပါကုဒ်သည် do.call() ကို အသုံးပြုနည်းကို ပြသသည်-

 #define argument to use in do.call
args <- list(1:20, na. rm = TRUE )

#calculate mean of values in list
do. call (mean, args)

[1] 10.5

စာရင်းရှိတန်ဖိုးများ၏ပျမ်းမျှသည် 10.5 ဖြစ်သည်။

Mean() ကို စာရင်းနှင့် တိုက်ရိုက်အသုံးပြုရန် ရိုးရှင်းစွာကြိုးစားပါက အမှားအယွင်းတစ်ခု ရရှိမည်ကို သတိပြုပါ-

 #attempt to calculate mean of values in list
mean(list(1:20), na. rm = TRUE )

[1] NA
Warning message:
In mean.default(list(1:20), na.rm = TRUE):
  argument is not numeric or logical: returning NA

ဥပမာ 3- do.call() ကို rbind ဖြင့် သုံးပါ။

R တွင် ဒေတာဘောင်များစွာကို ချိတ်ဆက်ရန် do.call() ကို အသုံးပြုနည်းကို အောက်ပါကုဒ်က ပြသည်-

 #create three data frames
df1 <- data. frame (team=c('A', 'B', 'C'),
                  dots=c(22, 27, 38))

df2 <- data. frame (team=c('D', 'E', 'F'),
                  dots=c(22, 14, 20))

df3 <- data. frame (team=c('G', 'H', 'I'),
                  dots=c(11, 15, 18))

#place three data frames into list
df_list <- list(df1, df2, df3)

#row bind together all three data frames
do. call (rbind, df_list)

  team points
1 to 22
2 B 27
3 C 38
4 D 22
5 E 14
6 F 20
7 G 11
8:15 a.m.
9 I 18

ရလဒ်မှာ ဒေတာဘောင်သုံးခုစီမှ အတန်းများပါရှိသော ဒေတာဘောင်တစ်ခုဖြစ်သည်။

စာရင်းနှင့်တိုက်ရိုက် rbind() ကို အသုံးပြုရန်ကြိုးစားပါက လိုချင်သောဒေတာဘောင်ကို လက်ခံရရှိမည်မဟုတ်ကြောင်း သတိပြုပါ။

 #create three data frames
df1 <- data. frame (team=c('A', 'B', 'C'),
                  dots=c(22, 27, 38))

df2 <- data. frame (team=c('D', 'E', 'F'),
                  dots=c(22, 14, 20))

df3 <- data. frame (team=c('G', 'H', 'I'),
                  dots=c(11, 15, 18))

#place three data frames into list
df_list <- list(df1, df2, df3)

#attmempt to row bind together all three data frames
rbind(df_list)

        [,1] [,2] [,3]  
df_list List,2 List,2 List,2

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

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

R တွင် paste နှင့် paste0 လုပ်ဆောင်ချက်များကိုအသုံးပြုနည်း
R တွင် replace() လုပ်ဆောင်ချက်ကို အသုံးပြုနည်း
R တွင် View() function ကိုအသုံးပြုနည်း
R တွင် rep() function ကိုအသုံးပြုနည်း

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

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