အမှားပြင်ဆင်နည်း- "ဒေတာ" သည် "fortify()" ဖြင့် အတင်းအကြပ်လုပ်ဆောင်နိုင်သော ဒေတာဘောင် သို့မဟုတ် အခြားအရာဝတ္ထုဖြစ်ရမည်


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

 Error: `data` must be a data frame, or other object coercible by `fortify()`,
        not a digital vector

ဒေတာဘောင်တစ်ခုတွင် variable များကိုဆွဲရန် ggplot2 ကို အသုံးပြုရန် ကြိုးပမ်းသောအခါတွင် ဤအမှားသည် ဖြစ်ပေါ်လာသည်၊ သို့သော် data argument အတွက် data frame အစား vector တစ်ခုကို ကိုးကားပါသည်။

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

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

R တွင် အောက်ပါ data frame ရှိသည်ဆိုပါစို့။

 #create data frame
df <- data. frame (x=c(1, 2, 3, 4, 5, 6, 7, 8),
                 y=c(4, 8, 14, 19, 14, 13, 9, 9))

#view data frame
df

  xy
1 1 4
2 2 8
3 3 14
4 4 19
5 5 14
6 6 13
7 7 9
8 8 9

ယခု ကျွန်ုပ်တို့သည် ဒေတာဘောင်ရှိ x နှင့် y ကိန်းရှင်များကို မြင်သာစေရန် scatterplot တစ်ခုကို ဖန်တီးရန် ကြိုးစားနေသည်ဆိုပါစို့။

 library (ggplot2)

#attempt to create scatter plot
ggplot(df$x, aes(x=x, y=y)) +
    geom_point()

Error: `data` must be a data frame, or other object coercible by `fortify()`,
        not a digital vector

ဒေတာ ဘောင်အစား ggplot() လုပ်ဆောင်ချက်သို့ ဒေတာအငြင်းပွားမှုတွင် ကိန်းဂဏာန်း vector ( df$x ) ကို ကိုးကားထားသောကြောင့် အမှားအယွင်းတစ်ခုကို လက်ခံရရှိခြင်းဖြစ်သည်။

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

ဤအမှားကိုပြင်ရန်နည်းလမ်းမှာ ggplot() လုပ်ဆောင်ချက်ရှိ ဒေတာ အငြင်းအခုံအတွက် ဒေတာဘောင်တစ်ခုကို ကိုးကားရန်ဖြစ်သည်။

ကျွန်ုပ်တို့၏ဥပမာတွင်၊ ဒေတာ အငြင်းအခုံအတွက် df$x အစား df ကို အသုံးပြုသင့်သည်-

 library (ggplot2)

#create scatterplot
ggplot(df, aes(x=x, y=y)) +
    geom_point()

ယခုတစ်ကြိမ်တွင် အမှားအယွင်းမရှိဘဲ point cloud ကို အောင်မြင်စွာ ဖန်တီးနိုင်သည်ကို သတိပြုပါ။

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

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

ပြင်နည်း- ggplot2 သည် မညီမျှသော အတန်းဒေတာကို မည်သို့ကိုင်တွယ်ရမည်ကို မသိပါ။
ပြင်နည်း- stripchart.default(x1, …) တွင် အမှားအယွင်းပါသော ကြံစည်မှုနည်းလမ်း
ပြင်ဆင်နည်း- eval တွင် အမှားအယွင်း (predvars၊ data၊ env): အရာဝတ္တု ‘x’ ကို ရှာမတွေ့ပါ။

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

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