R တွင် linear interpolation ပြုလုပ်နည်း (ဥပမာဖြင့်)


Linear interpolation သည် သိထားသောတန်ဖိုးနှစ်ခုကြားရှိ function တစ်ခု၏ မသိသောတန်ဖိုးကို ခန့်မှန်းသည့်လုပ်ငန်းစဉ်ဖြစ်သည်။

သိထားသောတန်ဖိုးနှစ်ခု (x 1 , y 1 ) နှင့် (x 2 , y 2 ) တို့အား အောက်ပါဖော်မြူလာကို အသုံးပြု၍ အမှတ်တစ်ခုအတွက် y တန်ဖိုးကို ခန့်မှန်းနိုင်သည်-

y = y 1 + (xx 1 )(y 2 -y 1 )/(x 2 -x 1 )

အောက်ဖော်ပြပါ ဥပမာသည် R တွင် linear interpolation လုပ်ဆောင်ပုံကို ပြသထားသည်။

ဥပမာ- R တွင် linear interpolation

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

 #define data frame
df <- data. frame (x=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 y=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

    xy
1 2 4
2 4 7
3 6 11
4 8 16
5 10 22
6 12 29
7 14 38
8 16 49
9 18 63
10 20 80

ဒေတာဘောင်ရှိ (x၊y) တန်ဖိုးများကို မြင်သာစေရန် ဖြန့်ခွဲမှုတစ်ခုဖန်တီးရန် အောက်ပါကုဒ်ကို အသုံးပြုနိုင်သည်။

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

ယခု ကျွန်ုပ်တို့သည် x တန်ဖိုးအသစ် 13 နှင့် ဆက်စပ်နေသည့် y တန်ဖိုးကို ရှာလိုသည်ဆိုပါစို့။

ဒါကိုလုပ်ဖို့ R မှာ approx() function ကိုသုံးနိုင်ပါတယ်။

 #fit linear regression model using data frame
model <- lm(y ~ x, data = df)

#interpolate y value based on x value of 13
y_new = approx(df$x, df$y, xout= 13 )

#view interpolated y value
y_new

$x
[1] 13

$y
[1] 33.5

ခန့်မှန်းခြေ y တန်ဖိုးသည် 33.5 ဖြစ်သွားသည်။

ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ကြံစည်မှုတွင် အမှတ် (၁၃၊ ၃၃.၅) ကို ထည့်ပါက၊ ၎င်းသည် လုပ်ဆောင်ချက်နှင့် အလွန်ကိုက်ညီပုံရသည်။

 #create scatterplot
plot(df$x, df$y, col=' blue ', pch= 19 )

#add the predicted point to the scatterplot
points(13, y_new$y, col=' red ', pch= 19 )

R တွင် linear interpolation

x တန်ဖိုးအသစ်များအတွက် linear interpolation လုပ်ဆောင်ရန် ဤအတိအကျဖော်မြူလာကို အသုံးပြုနိုင်ပါသည်။

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

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

R တွင် ညီမျှခြင်းစနစ်တစ်ခုကို ဖြေရှင်းနည်း
Multiple regression model ကိုအသုံးပြု၍ R တွင်တန်ဖိုးများကိုခန့်မှန်းနည်း

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

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