R_ComparingRegressions
をテンプレートにして作成
開始行:
*複数の回帰直線の比較 (01 February 2008) [#s3652589]
某友人から電話があり、複数の回帰直線の比較の方法を尋ねら...
その返事のメールを少々加工したものを以下に
----
複数の回帰直線の比較は以下のようにするといいようです。~
多変量解析の一種。ANCOVAとしての扱いにもなります。
ウェブ上でデータを入力するようにしているので、データの入...
のが難点で、ごめんなさい。
**用意するもの [#a6247fc1]
まず、以下のようなものを用意してください
x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,2,2,3,4...
y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,50,66,66...
Cat<-c("A","A","A","A","A","A","A","A","A","A","B","B","...
mydata<-data.frame(x,y,Cat)
mydata
fitall<-lm(y~x,mydata)
fitint<-lm(y~Cat+x,mydata)
fitdif<-lm(y~Cat*x,mydata)
summary(fitall)
summary(fitint)
summary(fitdif)
anova(fitint,fitdif)
anova(fitall,fitint)
http://bayes.math.montana.edu/Rweb/Rweb.general.htlm
に行き、入力ボックスに上のコードを貼り付け、submitボタン...
結果がでてきますので、それを保存してください。~
作業は以上です。~
**コードの説明 [#j58cb272]
今回のデータは、3種類(A、B、C)のカテゴリ(Catとしていま...
xが横軸、yが縦軸です。
必要に応じて直線回帰できるように変換しておいてください。
すべてのカテゴリのデータをx、y、Catの順で入力します。~
データセットとしては
1, 2, 3, 4,(略), 9, 10, 2, 3,(略), 10, 2,(...
10, 22, 30, 39,(略), 90,110, 22, 20,(略),109, 12,...
"A","A","A","A",(略),"A","A","B","B",(略),"B","C",(...
こんな感じのものを作り、一行ずつ入力していくイメージです。~
縦がずれないように注意してください。
これで、xを入力
x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,2,2,3,4...
これで、yを入力
y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,50,66,66...
これで、Catを入力
Cat<-c("A","A","A","A","A","A","A","A","A","A","B","B","...
3つのデータをひとつにまとめる
mydata<-data.frame(x,y,Cat)
確認のためデータセットを表示
mydata
すべてのデータをひとつにして回帰分析
fitall<-lm(y~x,mydata)
切片は異なるが、傾きは同じものとして回帰分析
fitint<-lm(y~Cat+x,mydata)
切片も傾きも異なるものとして回帰分析
fitdif<-lm(y~Cat*x,mydata)
すべてのデータをひとつにして行った回帰の結果
summary(fitall)
切片は異なるが、傾きは同じものとして行った回帰の結果
summary(fitint)
切片も傾きも異なるものとして行った回帰の結果
summary(fitdif)
「切片は異なるが、傾きは同じもの」と「切片も傾きも異なる...
これで有意でなければ、傾きに有意差がないと言える
anova(fitint,fitdif)
「すべてのデータをひとつにしてもの」と「切片は異なるが、...
を比較~
傾きが有意でなかった場合で、かつ、こちらも有意でなければ...
差がないと言える~
よって、傾きも切片も有意差がないので、プールしてよいとい...
anova(fitall,fitint)
**今回の例の結果(実行は2008年1月31日) [#j77991d1]
ところどころに説明を挿入
Results from Rweb
You are using Rweb1.03 on the server at bayes.math.monta...
R : Copyright 2003, The R Foundation for Statistical Com...
Version 1.8.1 (2003-11-21), ISBN 3-900051-00-3
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditi...
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R in publications.
Type 'demo()' for some demos, 'help()' for on-line help,...
'help.start()' for a HTML browser interface to help.
Type 'q()' to quit R.
Rweb:> postscript(file= "/tmp/Rout.27085.%03d.ps", onefi...
Rweb:>
ここまでは、念仏です
Rweb:> x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,...
Rweb:> y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,5...
Rweb:> Cat<-c("A","A","A","A","A","A","A","A","A","A","B...
Rweb:> mydata<-data.frame(x,y,Cat)
下にデータセットが表示されています。
Rweb:> mydata
x y Cat
1 1.0 10 A
2 2.0 22 A
3 3.0 30 A
4 4.0 39 A
5 5.0 44 A
6 6.0 60 A
7 7.0 70 A
8 8.0 89 A
9 9.0 90 A
10 10.0 110 A
11 2.0 22 B
12 3.0 20 B
13 4.0 30 B
14 5.0 40 B
15 5.5 50 B
16 6.0 66 B
17 7.0 66 B
18 8.0 89 B
19 9.0 99 B
20 10.0 109 B
21 2.0 12 C
22 2.0 20 C
23 3.0 30 C
24 4.0 40 C
25 5.0 55 C
26 5.0 55 C
27 7.0 70 C
28 8.0 80 C
29 10.0 99 C
30 10.0 105 C
回帰を行う
Rweb:> fitall<-lm(y~x,mydata)
Rweb:> fitint<-lm(y~Cat+x,mydata)
Rweb:> fitdif<-lm(y~Cat*x,mydata)
すべてのカテゴリをまとめて回帰したもののサマリ
ここに、切片(-5.3089)と傾き(11.2396)。また、それぞれ...
今回はどちらも有意なので、切片は0ではなく、傾きも0ではな...
Rweb:> summary(fitall)
Call:
lm(formula = y ~ x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-9.831 -4.546 0.697 5.050 6.085
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.3089 2.1550 -2.464 0.0202 *
x 11.0280 0.3414 32.301 <2e-16 ***
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.135 on 28 degrees of freedom
Multiple R-Squared: 0.9739, Adjusted R-squared: 0.9729
F-statistic: 1043 on 1 and 28 DF, p-value: < 2.2e-16
切片は異なるが、傾きは同じものとして行った回帰のサマリ
Rweb:> summary(fitint)
Call:
lm(formula = y ~ Cat + x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-8.601 -4.560 0.428 4.799 7.245
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.3828 2.5340 -1.730 0.0956 .
CatB -2.2731 2.3461 -0.969 0.3415
CatC -0.9051 2.3411 -0.387 0.7022
x 11.0514 0.3489 31.679 <2e-16 ***
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.234 on 26 degrees of freedom
Multiple R-Squared: 0.9748, Adjusted R-squared: 0.9719
F-statistic: 335.1 on 3 and 26 DF, p-value: < 2.2e-16
切片も傾きも異なるものとして行った回帰のサマリ
Rweb:> summary(fitdif)
Call:
lm(formula = y ~ Cat * x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-7.5289 -3.5063 0.3771 3.2058 11.0116
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.9333 3.4268 -0.856 0.4005
CatB -10.4386 5.3899 -1.937 0.0646 .
CatC 0.7877 4.8822 0.161 0.8732
x 10.7879 0.5523 19.533 3.06e-16 ***
CatB:x 1.3923 0.8502 1.638 0.1146
CatC:x -0.2976 0.7813 -0.381 0.7066
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.016 on 24 degrees of freedom
Multiple R-Squared: 0.9786, Adjusted R-squared: 0.9742
F-statistic: 219.8 on 5 and 24 DF, p-value: < 2.2e-16
「切片は異なるが、傾きは同じもの」と「切片も傾きも異なる...
Rweb:> anova(fitint,fitdif)
Analysis of Variance Table
Model 1: y ~ Cat + x
Model 2: y ~ Cat * x
Res.Df RSS Df Sum of Sq F Pr(>F)
1 26 712.33
2 24 603.93 2 108.40 2.154 0.1379
確率(Pr(>F))が 0.1379 で、有意でない。
よって、傾きが違うとはいえない。
Rweb:> anova(fitall,fitint)
Analysis of Variance Table
Model 1: y ~ x
Model 2: y ~ Cat + x
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 738.40
2 26 712.33 2 26.07 0.4757 0.6267
確率(Pr(>F))が 0.6267 で、有意でない。~
よって、切片が違うとはいえない。
以上により、3つのカテゴリをまとめて問題はない。
なお、~
切片 -5.3089~
傾き 11.2396~
(上のほうででてきています)
**参考にしたウェブページ [#fc6d3c44]
-http://hosho.ees.hokudai.ac.jp/~kato/unix/R.html
-http://hosho.ees.hokudai.ac.jp/~kato/seminar/020909/inde...
-http://www.tuat.ac.jp/~ethology/cgi-bin/wiki.cgi?page=R%...
-http://www001.upp.so-net.ne.jp/ito-hi/stat/R1.html
|Today:&counter(today); |Yesterday:&counter(yesterday); |...
終了行:
*複数の回帰直線の比較 (01 February 2008) [#s3652589]
某友人から電話があり、複数の回帰直線の比較の方法を尋ねら...
その返事のメールを少々加工したものを以下に
----
複数の回帰直線の比較は以下のようにするといいようです。~
多変量解析の一種。ANCOVAとしての扱いにもなります。
ウェブ上でデータを入力するようにしているので、データの入...
のが難点で、ごめんなさい。
**用意するもの [#a6247fc1]
まず、以下のようなものを用意してください
x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,2,2,3,4...
y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,50,66,66...
Cat<-c("A","A","A","A","A","A","A","A","A","A","B","B","...
mydata<-data.frame(x,y,Cat)
mydata
fitall<-lm(y~x,mydata)
fitint<-lm(y~Cat+x,mydata)
fitdif<-lm(y~Cat*x,mydata)
summary(fitall)
summary(fitint)
summary(fitdif)
anova(fitint,fitdif)
anova(fitall,fitint)
http://bayes.math.montana.edu/Rweb/Rweb.general.htlm
に行き、入力ボックスに上のコードを貼り付け、submitボタン...
結果がでてきますので、それを保存してください。~
作業は以上です。~
**コードの説明 [#j58cb272]
今回のデータは、3種類(A、B、C)のカテゴリ(Catとしていま...
xが横軸、yが縦軸です。
必要に応じて直線回帰できるように変換しておいてください。
すべてのカテゴリのデータをx、y、Catの順で入力します。~
データセットとしては
1, 2, 3, 4,(略), 9, 10, 2, 3,(略), 10, 2,(...
10, 22, 30, 39,(略), 90,110, 22, 20,(略),109, 12,...
"A","A","A","A",(略),"A","A","B","B",(略),"B","C",(...
こんな感じのものを作り、一行ずつ入力していくイメージです。~
縦がずれないように注意してください。
これで、xを入力
x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,2,2,3,4...
これで、yを入力
y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,50,66,66...
これで、Catを入力
Cat<-c("A","A","A","A","A","A","A","A","A","A","B","B","...
3つのデータをひとつにまとめる
mydata<-data.frame(x,y,Cat)
確認のためデータセットを表示
mydata
すべてのデータをひとつにして回帰分析
fitall<-lm(y~x,mydata)
切片は異なるが、傾きは同じものとして回帰分析
fitint<-lm(y~Cat+x,mydata)
切片も傾きも異なるものとして回帰分析
fitdif<-lm(y~Cat*x,mydata)
すべてのデータをひとつにして行った回帰の結果
summary(fitall)
切片は異なるが、傾きは同じものとして行った回帰の結果
summary(fitint)
切片も傾きも異なるものとして行った回帰の結果
summary(fitdif)
「切片は異なるが、傾きは同じもの」と「切片も傾きも異なる...
これで有意でなければ、傾きに有意差がないと言える
anova(fitint,fitdif)
「すべてのデータをひとつにしてもの」と「切片は異なるが、...
を比較~
傾きが有意でなかった場合で、かつ、こちらも有意でなければ...
差がないと言える~
よって、傾きも切片も有意差がないので、プールしてよいとい...
anova(fitall,fitint)
**今回の例の結果(実行は2008年1月31日) [#j77991d1]
ところどころに説明を挿入
Results from Rweb
You are using Rweb1.03 on the server at bayes.math.monta...
R : Copyright 2003, The R Foundation for Statistical Com...
Version 1.8.1 (2003-11-21), ISBN 3-900051-00-3
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditi...
Type 'license()' or 'licence()' for distribution details.
R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R in publications.
Type 'demo()' for some demos, 'help()' for on-line help,...
'help.start()' for a HTML browser interface to help.
Type 'q()' to quit R.
Rweb:> postscript(file= "/tmp/Rout.27085.%03d.ps", onefi...
Rweb:>
ここまでは、念仏です
Rweb:> x<-c(1,2,3,4,5,6,7,8,9,10,2,3,4,5,5.5,6,7,8,9,10,...
Rweb:> y<-c(10,22,30,39,44,60,70,89,90,110,22,20,30,40,5...
Rweb:> Cat<-c("A","A","A","A","A","A","A","A","A","A","B...
Rweb:> mydata<-data.frame(x,y,Cat)
下にデータセットが表示されています。
Rweb:> mydata
x y Cat
1 1.0 10 A
2 2.0 22 A
3 3.0 30 A
4 4.0 39 A
5 5.0 44 A
6 6.0 60 A
7 7.0 70 A
8 8.0 89 A
9 9.0 90 A
10 10.0 110 A
11 2.0 22 B
12 3.0 20 B
13 4.0 30 B
14 5.0 40 B
15 5.5 50 B
16 6.0 66 B
17 7.0 66 B
18 8.0 89 B
19 9.0 99 B
20 10.0 109 B
21 2.0 12 C
22 2.0 20 C
23 3.0 30 C
24 4.0 40 C
25 5.0 55 C
26 5.0 55 C
27 7.0 70 C
28 8.0 80 C
29 10.0 99 C
30 10.0 105 C
回帰を行う
Rweb:> fitall<-lm(y~x,mydata)
Rweb:> fitint<-lm(y~Cat+x,mydata)
Rweb:> fitdif<-lm(y~Cat*x,mydata)
すべてのカテゴリをまとめて回帰したもののサマリ
ここに、切片(-5.3089)と傾き(11.2396)。また、それぞれ...
今回はどちらも有意なので、切片は0ではなく、傾きも0ではな...
Rweb:> summary(fitall)
Call:
lm(formula = y ~ x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-9.831 -4.546 0.697 5.050 6.085
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -5.3089 2.1550 -2.464 0.0202 *
x 11.0280 0.3414 32.301 <2e-16 ***
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.135 on 28 degrees of freedom
Multiple R-Squared: 0.9739, Adjusted R-squared: 0.9729
F-statistic: 1043 on 1 and 28 DF, p-value: < 2.2e-16
切片は異なるが、傾きは同じものとして行った回帰のサマリ
Rweb:> summary(fitint)
Call:
lm(formula = y ~ Cat + x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-8.601 -4.560 0.428 4.799 7.245
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -4.3828 2.5340 -1.730 0.0956 .
CatB -2.2731 2.3461 -0.969 0.3415
CatC -0.9051 2.3411 -0.387 0.7022
x 11.0514 0.3489 31.679 <2e-16 ***
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.234 on 26 degrees of freedom
Multiple R-Squared: 0.9748, Adjusted R-squared: 0.9719
F-statistic: 335.1 on 3 and 26 DF, p-value: < 2.2e-16
切片も傾きも異なるものとして行った回帰のサマリ
Rweb:> summary(fitdif)
Call:
lm(formula = y ~ Cat * x, data = mydata)
Residuals:
Min 1Q Median 3Q Max
-7.5289 -3.5063 0.3771 3.2058 11.0116
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.9333 3.4268 -0.856 0.4005
CatB -10.4386 5.3899 -1.937 0.0646 .
CatC 0.7877 4.8822 0.161 0.8732
x 10.7879 0.5523 19.533 3.06e-16 ***
CatB:x 1.3923 0.8502 1.638 0.1146
CatC:x -0.2976 0.7813 -0.381 0.7066
---
Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1...
Residual standard error: 5.016 on 24 degrees of freedom
Multiple R-Squared: 0.9786, Adjusted R-squared: 0.9742
F-statistic: 219.8 on 5 and 24 DF, p-value: < 2.2e-16
「切片は異なるが、傾きは同じもの」と「切片も傾きも異なる...
Rweb:> anova(fitint,fitdif)
Analysis of Variance Table
Model 1: y ~ Cat + x
Model 2: y ~ Cat * x
Res.Df RSS Df Sum of Sq F Pr(>F)
1 26 712.33
2 24 603.93 2 108.40 2.154 0.1379
確率(Pr(>F))が 0.1379 で、有意でない。
よって、傾きが違うとはいえない。
Rweb:> anova(fitall,fitint)
Analysis of Variance Table
Model 1: y ~ x
Model 2: y ~ Cat + x
Res.Df RSS Df Sum of Sq F Pr(>F)
1 28 738.40
2 26 712.33 2 26.07 0.4757 0.6267
確率(Pr(>F))が 0.6267 で、有意でない。~
よって、切片が違うとはいえない。
以上により、3つのカテゴリをまとめて問題はない。
なお、~
切片 -5.3089~
傾き 11.2396~
(上のほうででてきています)
**参考にしたウェブページ [#fc6d3c44]
-http://hosho.ees.hokudai.ac.jp/~kato/unix/R.html
-http://hosho.ees.hokudai.ac.jp/~kato/seminar/020909/inde...
-http://www.tuat.ac.jp/~ethology/cgi-bin/wiki.cgi?page=R%...
-http://www001.upp.so-net.ne.jp/ito-hi/stat/R1.html
|Today:&counter(today); |Yesterday:&counter(yesterday); |...
ページ名: