変換テーブル(前の 2 つの記事)のかわりに,変換多項式を使う
> x = 1:4
> y = c(11, 13, 15, 50)
> lm(y ~ x+I(x^2)+I(x^3))
Call:
lm(formula = y ~ x + I(x^2) + I(x^3))
Coefficients:
(Intercept) x I(x^2) I(x^3)
-24.0 62.5 -33.0 5.5
> f = function(x) -24+62.5*x-33*x^2+5.5*x^3
> sapply(c(1, 2, 3, 1, 1, 2, 3, 4, 2), f)
[1] 11 13 15 11 11 13 15 50 13
> x = c(15, 34, 52, 99)
> y = c(3, 5, 9, 15)
> lm(y ~ x+I(x^2)+I(x^3))
Call:
lm(formula = y ~ x + I(x^2) + I(x^3))
Coefficients:
(Intercept) x
4.49048584659e+00 -2.17668069852e-01
I(x^2) I(x^3)
8.71108485890e-03 -5.49507828343e-05
> g = function(x) round(4.490485846588825325-2.17668069852e-01*x+0.008711084858901133*x^2-0.000054950782834321*x^3)
> sapply(c(34, 52, 99, 15, 34, 99), g)
[1] 5 9 15 3 5 15