這次生統實習作業要使用R語法完成
今天在寫語法設Dummay variables 卡很久,因為我讓R自動轉成dummay variable的結果和我自己設的dummary variable的結果,coefficients的數據不同(正常的話,只要reference group是一樣的,兩者的結果應該是要一樣才對)
目前的語法如下(自己寫語法設dummy variables):
> race=c(1,2,3,4)
> n=length(race)
> d1=c();d2=c();d3=c()
> for (i in 1:n){
+ if (race[i]==1){d1[i]=0;d2[i]=0;d3[i]=0}
+ else if(race[i]==2){d1[i]=1;d2[i]=0;d3[i]=0}
+ else if (race[i]==3){d1[i]=0;d2[i]=1;d3[i]=0}
+ else {d1[i]=0;d2[i]=0;d3[i]=1}
+ }
> cbind(race,d1,d2,d3)
race d1 d2 d3
[1,] 1 0 0 0
[2,] 2 1 0 0
[3,] 3 0 1 0
[4,] 4 0 0 1
> out2=lm(math~d1+d2+d3,data=hsb2);out2
錯誤在model.frame.default(formula = math ~ d1 + d2 + d3, data = hsb2, :
變數長度不一樣 (發現於 'd1')
明天將上網查看這現象如何解決及問同學了。。