裏 RjpWiki

文字通り,RjpWiki の裏を行きます
R プログラム コンピュータ・サイエンス 統計学

変換多項式

2018年05月24日 | ブログラミング

変換テーブル(前の 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

コメント

変換テーブル(2)

2018年05月22日 | ブログラミング

15, 34, 52, 99 をそれぞれ 3, 5, 9, 15 に変換する

> x = integer(100)
> x[15] = 3
> x[34] = 5
> x[52] = 9
> x[99] = 15
> x[c(34, 52, 99, 15, 34, 99)]
[1]  5  9 15  3  5 15

コメント

変換テーブル

2018年05月22日 | ブログラミング

1 を 11,2 を 13,3 を 15,4 を 50 に変換するには

> tbl = c(11, 13, 15, 50)
> (a = tbl[c(1, 2, 3, 1, 1, 2, 3, 4, 2)])
[1] 11 13 15 11 11 13 15 50 13

コメント