tetsunosukeのnotebook

tetsunosukeのメモです

Rのformulaって不思議だなって

回帰分析とかいろいろやっていく中で便利だなーって思ったのが

> csv
   month degree amount
1    1月    5.1    772
2    2月    6.7    948
3    3月    9.8   1251
4    4月   13.6   1211
5    5月   19.0   1287
6    6月   22.5   1653
7    7月   25.6   1559
8    8月   27.5   2389
9    9月   23.5   1189
10  10月   19.5   1155
11  11月   14.4   1271
12  12月    9.5   1045

このような(前にも使った)データに対して、回帰分析を実施すると

> res = lm(csv$amount ~ csv$degree)
> res

Call:
lm(formula = csv$amount ~ (csv$degree))

Coefficients:
(Intercept)   csv$degree  
     612.44        42.61  

ってな感じで、

回帰式= 612.44 + 42.61 * degree

と求められるんだけど、

これをそのまま

csv[,4] =  612.44 + 42.61 * csv$degree

とかすると

> csv
   month degree amount       V4
1    1月    5.1    772  829.751
2    2月    6.7    948  897.927
3    3月    9.8   1251 1030.018
4    4月   13.6   1211 1191.936
5    5月   19.0   1287 1422.030
6    6月   22.5   1653 1571.165
7    7月   25.6   1559 1703.256
8    8月   27.5   2389 1784.215
9    9月   23.5   1189 1613.775
10  10月   19.5   1155 1443.335
11  11月   14.4   1271 1226.024
12  12月    9.5   1045 1017.235

こんな具合に、xの値を配列(R的にはなんて言うんだっけ?)で与えるとそれに応じた値を全部同じ配列で返してくれるみたい。便利だ−。

最近演習問題もみんなでやってるので進みが遅くて新しいテーマが出来てませんが、そのぶん基礎力はついてる。