2016-10-18 4 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