စာရင်းတစ်ခုအား 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 ထက် ပိုမိုမြန်ဆန်စွာ လုပ်ဆောင်လေ့ရှိပါသည်။

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

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