2015-01-23 4 views

답변

6

이 사람은 실제로 당신이 smooth.spline()에 의해 생성 된 객체의 predict() 방법이 있다는 것을 알고 경우 매우 쉽게이 방법은 당신이 경우에 두 번째 유도체이다 (주어진 유도체를 예측할 수있는 인자 deriv을 가지고 스프 라인의 점 대신에 필요합니다. 범

cars.spl <- with(cars, smooth.spline(speed, dist, df = 3)) 
with(cars, predict(cars.spl, x = speed, deriv = 2)) 

:

$y 스플라인 맞게 사용되는 데이터에서 관찰 speed 값에서 평가 스플라인 피팅의 이차 미분을한다
$x 
[1] 4 4 7 7 8 9 10 10 10 11 11 12 12 12 12 13 13 13 13 14 14 14 14 15 15 
[26] 15 16 16 17 17 17 18 18 18 18 19 19 19 20 20 20 20 20 22 23 24 24 24 24 25 

$y 
[1] -6.492030e-05 -6.492030e-05 3.889944e-02 3.889944e-02 5.460044e-02 
[6] 7.142609e-02 6.944645e-02 6.944645e-02 6.944645e-02 9.273343e-02 
[11] 9.273343e-02 1.034153e-01 1.034153e-01 1.034153e-01 1.034153e-01 
[16] 5.057841e-02 5.057841e-02 5.057841e-02 5.057841e-02 1.920888e-02 
[21] 1.920888e-02 1.920888e-02 1.920888e-02 1.111307e-01 1.111307e-01 
[26] 1.111307e-01 1.616749e-01 1.616749e-01 1.801385e-01 1.801385e-01 
[31] 1.801385e-01 1.550027e-01 1.550027e-01 1.550027e-01 1.550027e-01 
[36] 2.409237e-01 2.409237e-01 2.409237e-01 2.897166e-01 2.897166e-01 
[41] 2.897166e-01 2.897166e-01 2.897166e-01 1.752232e-01 1.095682e-01 
[46] -1.855994e-03 -1.855994e-03 -1.855994e-03 -1.855994e-03 4.478382e-05 

. 물론 여기에 원하는 모든 값 (예 : speed 범위의 100 개 값)을 연결할 수 있습니다. 예 :

newspeed <- with(cars, seq(min(speed), max(speed), length = 100)) 
curvature <- predict(cars.spl, x = newspeed, deriv = 2) 

plot(curvature, type = "l") 
관련 문제