2016-10-18 14 views
3

Rにおける線形補間によってポイントを見つけるの二点(5,0.45)&(6,0.50)と線形補間私が持っている

しかし、どのようにして、値X = 5.019802を見つけるに必要な方法それをRでコード化しますか?

私は下のコードを取得しましたが、ちょうどグラフが得られませんでした。

x<- c(5,6) 
y<- c(0.45,0.50) 

interp<- approx(x,y) 

plot(x,y,pch=16,cex=2) 
points(interp,col='red') 
+0

正確な値5.019802は、 'interp $ x'には表示されません。 'targetVal = 5.019802;でターゲット値に最も近い点を見つけることができます。 (interp $ x - targetVal)) 'indexを2にする、interp $ x [2]、interp $ y [2]'は、目的の値に最も近い点を指します – OdeToMyFiddle

答えて

5

xoutの値を指定するだけです。

approx(x,y,xout=5.019802) 
$x 
[1] 5.019802 

$y 
[1] 0.4509901 
1

y = mx + bを解く関数を作ることをお勧めします。

x = c(5,6) 
y = c(0.45, 0.50) 
m <- (y[2] - y[1])/(x[2] - x[1]) # slope formula 
b <- y[1]-(m*x[1]) # solve for b 
m*(5.019802) + b 

# same answer as the approx function 
[1] 0.4509901