R တွင် ပြင်ဆင်နည်း- rbind(deparse.level, …) တွင် error ကို ကော်လံနံပါတ်များ မတိုက်ဆိုင်ပါ။


R တွင် သင်ကြုံတွေ့ရသော အမှားတစ်ခုမှာ-

 Error in rbind(deparse.level, ...): 
  numbers of columns of arguments do not match 

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

ဤသင်ခန်းစာတွင် ဤအမှားကို မည်သို့ပြင်ရမည်ကို တိတိကျကျ ရှင်းပြထားသည်။

အမှားကို ဘယ်လိုပြန်ထုတ်မလဲ။

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

 #create first data frame
df1 <- data. frame (x=c(1, 4, 4, 5, 3),
                  y=c(4, 4, 2, 8, 10))

df1

  xy
1 1 4
2 4 4
3 4 2
4 5 8
5 3 10

#create second data frame
df2 <- data. frame (x=c(2, 2, 2, 5, 7),
                  y=c(3, 6, 2, 0, 0),
                  z=c(2, 7, 7, 8, 15))

df2

  X Y Z
1 2 3 2
2 2 6 7
3 2 2 7
4 5 0 8
5 7 0 15

ယခု ကျွန်ုပ်တို့သည် ဤဒေတာဘောင်နှစ်ခုကို ဒေတာဘောင်တစ်ခုထဲသို့ ချိတ်ဆက်ရန် rbind ကို အသုံးပြုရန် ကြိုးစားသည်ဆိုပါစို့။

 #attempt to row-bind the two data frames together
rbind(df1, df2)

Error in rbind(deparse.level, ...): 
  numbers of columns of arguments do not match

ဒေတာဘောင်နှစ်ခုတွင် ကော်လံအရေအတွက် တူညီခြင်းမရှိသောကြောင့် ကျွန်ုပ်တို့သည် အမှားအယွင်းတစ်ခု ရရှိခဲ့ပါသည်။

အမှားကိုဘယ်လိုပြင်မလဲ။

ဤပြဿနာကိုဖြေရှင်းရန်နည်းလမ်းနှစ်ခုရှိသည်။

နည်းလမ်း 1- ဘုံကော်လံများတွင် rbind ကိုသုံးပါ။

ဤပြဿနာကိုဖြေရှင်းရန် နည်းလမ်းတစ်ခုမှာ data frames များကြားတွင် ဘုံကော်လံအမည်များကိုရှာဖွေရန် intersect() လုပ်ဆောင်ချက်ကိုအသုံးပြုပြီး ထိုကော်လံများတွင်သာ ဒေတာဘောင်များကို ချိတ်ဆက်ခြင်းဖြစ်သည်-

 #find common column names
common <- intersect(colnames(df1), colnames(df2))

#row-bind only on common column names
df3 <- rbind(df1[common], df2[common])

#view result
df3

   xy
1 1 4
2 4 4
3 4 2
4 5 8
5 3 10
6 2 3
7 2 6
8 2 2
9 5 0
10 7 0

နည်းလမ်း 2- dplyr မှ bind_rows() ကိုသုံးပါ။

ဤပြဿနာကိုဖြေရှင်းရန် အခြားနည်းလမ်းမှာ dplyr package မှ bind_rows() လုပ်ဆောင်ချက်ကို အသုံးပြုရန်ဖြစ်ပြီး၊ မကိုက်ညီသောကော်လံအမည်များအတွက် NA တန်ဖိုးများကို အလိုအလျောက်ဖြည့်ပေးပါသည်။

 library (dplyr)

#bind together the two data frames
df3 <- bind_rows(df1, df2)

#view result
df3

   X Y Z
1 1 4 NA
2 4 4 NA
3 4 2 NA
4 5 8 NA
5 3 10 NA
6 2 3 2
7 2 6 7
8 2 2 7
9 5 0 8
10 7 0 15

ဤဒေတာဘောင်တွင် z ကော်လံမရှိသဖြင့် df1 တန်ဖိုးများအတွက် NA တန်ဖိုးများကို ဖြည့်သွင်းထားကြောင်း သတိပြုပါ။

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

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

R တွင် ပြင်ဆင်နည်း- အမည်များသည် ယခင်အမည်များနှင့် မကိုက်ညီပါ။
R ဖြင့် ပြုပြင်နည်း- ပိုရှည်သော အရာဝတ္ထုတစ်ခု၏ အလျားသည် ပိုတိုသော အရာဝတ္ထုတစ်ခု၏ အလျားများစွာမဟုတ်ပေ။
R တွင် ပြုပြင်နည်း- ဆန့်ကျင်ကွဲလွဲမှုများကို အဆင့် 2 သို့မဟုတ် ထို့ထက်ပိုသော အဆင့်များရှိသည့် အချက်များတွင်သာ အသုံးပြုနိုင်သည်။

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

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