စာရင်းတစ်ခုအား r တွင်ဒေတာဘောင်တစ်ခုသို့မည်သို့ပြောင်းရမည်နည်း။
စာရင်းတစ်ခုအား R ရှိ ဒေတာဘောင်သို့ ပြောင်းလိုသည့် ကိစ္စများစွာရှိသည်။ ဤသင်ခန်းစာတွင် ၎င်းကိုပြုလုပ်ရန် မတူညီသောနည်းလမ်းသုံးခုကို ရှင်းပြထားသည်။
နည်းလမ်း 1- R ကိုအခြေခံသည်။
အောက်ဖော်ပြပါ ကုဒ်အတိုအထွာများသည် အခြေခံ R ကိုသာ အသုံးပြု၍ စာရင်းတစ်ခုအား ဒေတာဘောင်သို့ မည်သို့ပြောင်းလဲရမည်ကို ပြသသည်-
#create list my_list <- list(letters[1:5], letters[6:10]) my_list [[1]] [1] "a" "b" "c" "d" "e" [[2]] [1] "f" "g" "h" "i" "j" #convert list to data frame data.frame(t(sapply(my_list,c))) X1 X2 X3 X4 X5 1 abcde 2 fghij
ဤဥပမာတွင်၊ sapply သည် စာရင်းကို မက်ထရစ်အဖြစ်သို့ ပြောင်းသည်၊ ထို့နောက် data.frame သည် မက်ထရစ်ကို ဒေတာဘောင်သို့ ပြောင်းပေးသည်။ နောက်ဆုံးရလဒ်သည် နှစ်တန်း၊ ကော်လံငါးခု ဒေတာဘောင်တစ်ခုဖြစ်သည်။
နည်းလမ်း 2- DataTable
အောက်ပါ ကုဒ်အတိုအထွာများသည် data.table စာကြည့်တိုက်၏ rbindlist လုပ်ဆောင်ချက်ကို အသုံးပြု၍ အတန်းနှစ်တန်းနှင့် ကော်လံသုံးခုပါသော ဒေတာဘောင်တစ်ခုသို့ အစုအဝေးစာရင်းနှစ်ခုကို မည်သို့ပြောင်းရမည်ကို ပြသသည်-
#load data.table library library(data.table) #create list my_list <- list(a = list(var1 = 1, var2 = 2, var3 = 3), b = list(var1 = 4, var2 = 5, var3 = 6)) my_list $a $a$var1 [1] 1 $a$var2 [1] 2 $a$var3 [1] 3 $b $b$var1 [1] 4 $b$var2 [1] 5 $b$var3 [1] 6 #convert list to data frame rbindlist(my_list) var1 var2 var3 1:1 2 3 2:4 5 6
၎င်းသည် အတန်းနှစ်တန်းနှင့် ကော်လံသုံးခုပါသည့် ဒေတာဇယားကို ဖြစ်ပေါ်စေသည်။ ဤဒေတာဇယားကို ဒေတာဘောင်သို့ ပြောင်းလိုပါက as.data.frame(DT) ကို ရိုးရိုးရှင်းရှင်း အသုံးပြုနိုင်ပါသည်။
သင်သည် အလွန်ကြီးမားသော ဒေတာအစုံဖြင့် အလုပ်လုပ်နေပါက ဤနည်းလမ်းသည် စာရင်းတစ်ခုကို ဒေတာဘောင်တစ်ခုအဖြစ်သို့ ပြောင်းပေးသည်။
နည်းလမ်း 3: Dplyr
အောက်ဖော်ပြပါ ကုဒ်အတိုအထွာများသည် dplyr စာကြည့်တိုက်၏ bind_rows လုပ်ဆောင်ချက်ကို အသုံးပြု၍ အသိုက်အဝန်းနှစ်ခုစာရင်းကို ဒေတာဘောင်တစ်ခုသို့ မည်သို့ပြောင်းလဲရမည်ကို ပြသသည်-
#loadlibrary library(dplyr) #create list my_list <- list(a = list(var1 = 1, var2 = 2, var3 = 3), b = list(var1 = 4, var2 = 5, var3 = 6)) my_list $a $a$var1 [1] 1 $a$var2 [1] 2 $a$var3 [1] 3 $b $b$var1 [1] 4 $b$var2 [1] 5 $b$var3 [1] 6 #convert list to data frame bind_rows(my_list) # A tibble: 2 x 3 var1 var2 var3 1 1 2 3 2 4 5 6
၎င်းသည် အတန်းနှစ်တန်းနှင့် ကော်လံသုံးခုပါသည့် ဒေတာဘောင်တစ်ခုကို ရလဒ်ရရှိစေသည်။
ဤနည်းလမ်းသည် ကြီးမားသောဒေတာအတွဲများနှင့် အလုပ်လုပ်သောအခါတွင်လည်း အခြေခံ R ထက် ပိုမိုမြန်ဆန်စွာ လုပ်ဆောင်လေ့ရှိပါသည်။