User Tools

Site Tools


using_dummy_variables

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
using_dummy_variables [2026/06/09 23:34] hkimscilusing_dummy_variables [2026/06/14 23:15] (current) – [Regression with two Catogorical IVs] hkimscil
Line 1137: Line 1137:
  
  
 +</code>
 +{{pasted:20260609-230452.png?600}}
 +
 +<code>
 > # 1. 평균을 빼준 값을 새로운 변인으로 저장 > # 1. 평균을 빼준 값을 새로운 변인으로 저장
 > df$meals_centered <-  > df$meals_centered <- 
Line 1180: Line 1184:
  
  
 +</code>
 +{{pasted:20260609-230505.png?600}}
 +
 +<code>
 > # Install the package if you do not have it > # Install the package if you do not have it
 > # install.packages("interactions") > # install.packages("interactions")
Line 1189: Line 1197:
  
  
 +</code>
 +{{pasted:20260609-230516.png?600}}
 +
 +<code>
 > m.ellyr_rnd <- lm(api00~ell+yr_rnd, data=df) > m.ellyr_rnd <- lm(api00~ell+yr_rnd, data=df)
 > summary(m.ellyr_rnd) > summary(m.ellyr_rnd)
Line 1289: Line 1301:
  
 </code> </code>
 +{{pasted:20260609-230601.png?600}}
 +
 </tabbox> </tabbox>
-{{pasted:20260609-230452.png?600}} 
-{{pasted:20260609-230505.png?600}} 
-{{pasted:20260609-230516.png?600}} 
-{{pasted:20260609-230601.png?600}} 
  
 ===== Regression with a categorical and a continuous IV: e.g. 2 ===== ===== Regression with a categorical and a continuous IV: e.g. 2 =====
Line 1518: Line 1528:
 > nobr.to100 <- coefs[1]+coefs[2]+coefs[4] > nobr.to100 <- coefs[1]+coefs[2]+coefs[4]
 > cat(br.to46, br.to80, br.to100) > cat(br.to46, br.to80, br.to100)
-808.0131 644.2758 526.33> cat(nobr.to46, nobr.to80, nobr.to100)+808.0131 644.2758 526.33 
 +> cat(nobr.to46, nobr.to80, nobr.to100)
 765.0531 601.3157 483.3699>  765.0531 601.3157 483.3699> 
 +</code>
 +예측식은 아래와 같다. 
 +<code>
 +y hat = 808.013 + -42.960*(yr_rndno_break) + -163.737(mealcat47-80) + -281.683(mealcat81-100)
 +
 +yr_rnd:
 +break = 방학있음 
 +no_break = 방학없음
 +
 +mealcat: 
 +0-46% free meals
 +47-80%
 +81-100%
 +</code>
 +이에 대한 해석은 각각의 독립변인의 종류 수인 2개와 3개를 곱한 6개의 경우로 나누어서 생각할 수 있다. 즉,
 +''y hat = 808.013 + -42.960*(yr_rndno_break) + -163.737(mealcat47-80) + -281.683(mealcat81-100)''
 +을 바탕으로 각각의 조건을 고려하여 y hat를 계산하면 아래와 같다. 
 +
 +<wrap #two_dummy_table />
 +TABLE. Two dummy variables
 +^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^ 
 +| yr_rndbreak     | <wrap> yr_rndbreak = 1
 +yr_rndno_break = 0
 +mealcat0-46 = 1
 +mealcat47-80 = 0
 +mealcat81-100 = 0 경우
 +''y hat = 808.013''         
 +</wrap>  | <wrap> yr_rndbreak = 1
 +yr_rndno_break = 0
 +mealcat0-46 = 0
 +mealcat47-80 = 1
 +mealcat81-100 = 0 경우  
 +''**y hat = 808.013 - 163.737 = 644.276**''
 +</wrap>  | <wrap> yr_rndbreak = 1
 +yr_rndno_break = 0
 +mealcat0-46 = 0
 +mealcat47-80 = 0
 +mealcat81-100 = 1 경우
 +''**y hat = 808.013 - 281.683 = 526.33**''
 +</wrap>  |
 +| yr_rndno_break  | <wrap> yr_rndbreak = 0
 +yr_rndno_break = 1
 +mealcat0-46 = 1
 +mealcat47-80 = 0
 +mealcat81-100 = 0 경우
 +''**y hat = 808.013 - 42.960 = 765.053**''         
 +</wrap>  | <wrap> yr_rndbreak = 0
 +yr_rndno_break = 1
 +mealcat0-46 = 0
 +mealcat47-80 = 1
 +mealcat81-100 = 0 경우 
 +''**y hat = 808.013 - 42.960 - 163.737 = 601.316**''
 +</wrap>  | <wrap> yr_rndbreak = 0
 +yr_rndno_break = 1
 +mealcat0-46 = 0
 +mealcat47-80 = 0
 +mealcat81-100 = 1 경우
 +''**y hat = 808.013 - 42.960 - 281.683 = 483.37**''
 +</wrap>  |
 +
 +<code>
 > # 해석. interaction > # 해석. interaction
 > m.yrrndxmealcat <- lm(api00~yr_rnd*mealcat, data=df) > m.yrrndxmealcat <- lm(api00~yr_rnd*mealcat, data=df)
Line 1563: Line 1635:
 > nobr.to100 <- coefs[1]+coefs[2]+coefs[4]+coefs[6] > nobr.to100 <- coefs[1]+coefs[2]+coefs[4]+coefs[6]
 > cat(br.to46, br.to80, br.to100) > cat(br.to46, br.to80, br.to100)
-809.6855 645.2735 521.4925> cat(nobr.to46, nobr.to80, nobr.to100)+809.6855 645.2735 521.4925 
 +> cat(nobr.to46, nobr.to80, nobr.to100)
 735.4286 593.5333 488 735.4286 593.5333 488
  
 </code> </code>
-</tabbox>+위의 테스트는 두 개의 독립변인이 모두 종류이고 종속변인이 숫자일 때의 조건을 만족하니 factorial anova를 해도 된다. 아래는 그 결과이다.  
 +<code> 
 +> mod4 <- lm(api00 ~ yr_rnd + mealcat + yr_rnd:mealcat, data=datavar)  
 +> summary(mod4) 
 + 
 +Call: 
 +lm(formula = api00 ~ yr_rnd + mealcat + yr_rnd:mealcat, data = datavar) 
 + 
 +Residuals: 
 +     Min       1Q   Median       3Q      Max  
 +-207.533  -50.764   -1.843   48.874  179.000  
 + 
 +Coefficients: 
 +                             Estimate Std. Error t value Pr(>|t|)     
 +(Intercept)                   809.685      6.185 130.911  < 2e-16 *** 
 +yr_rndno_break                -74.257     26.756  -2.775  0.00578 **  
 +mealcat47-80                 -164.412      8.877 -18.522  < 2e-16 *** 
 +mealcat81-100                -288.193     10.443 -27.597  < 2e-16 *** 
 +yr_rndno_break:mealcat47-80    22.517     32.752   0.687  0.49217     
 +yr_rndno_break:mealcat81-100   40.764     29.231   1.395  0.16394     
 +--- 
 +Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 
 + 
 +Residual standard error: 68.87 on 394 degrees of freedom 
 +Multiple R-squared:  0.7685, Adjusted R-squared:  0.7656  
 +F-statistic: 261.6 on 5 and 394 DF,  p-value: < 2.2e-16 
 +</code>
  
-예측식은 아래와 같다.  
 <code> <code>
-y hat = 808.013 + -42.960*(yr_rndno_break) + -163.737(mealcat47-80) + -281.683(mealcat81-100)+Coefficients: 
 +                             Estimate Std. Error t value Pr(>|t|)     
 +(Intercept)                   809.685      6.185 130.911  < 2e-16 *** 
 +yr_rndno_break                -74.257     26.756  -2.775  0.00578 **  
 +mealcat47-80                 -164.412      8.877 -18.522  < 2e-16 *** 
 +mealcat81-100                -288.193     10.443 -27.597  < 2e-16 *** 
 +yr_rndno_break:mealcat47-80    22.517     32.752   0.687  0.49217     
 +yr_rndno_break:mealcat81-100   40.764     29.231   1.395  0.16394     
 +--- 
 + 
 +이전 식 
 +y hat = 808.013 + -42.960 * (nobr) + -163.737 (to80) + -281.683 (to100) 
 +위의 식 
 +y hat = 809.685 +  -74.257*(nobr+  
 +                  -164.412*(to80) +   
 +                  -288.193*(to100) + 
 +                   22.517*(nobr:to80) +   --> aaaaa case 
 +                   40.764*(nobr:to100)    --> bbbbb case
  
 yr_rnd: yr_rnd:
Line 1582: Line 1697:
 81-100% 81-100%
 </code> </code>
-이에 대한 해석은 각각의 독립변인의 종류 수인 2개와 3개를 곱한 6개의 경우로 나누어서 생각할 수 있다. 즉, 
  
-''y hat = 808.013 + -42.960*(yr_rndno_break) + -163.737(mealcat47-80) + -281.683(mealcat81-100)'' 
- 
-을 바탕으로 각각의 조건을 고려하여 y hat를 계산하면 아래와 같다.  
- 
-<wrap #two_dummy_table /> 
-TABLE. Two dummy variables 
 ^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^  ^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^ 
-| yr_rndbreak     | <wrap> yr_rndbreak = 1+| yr_rndbreak     | <wrap> 베이스라인
 yr_rndno_break = 0 yr_rndno_break = 0
-mealcat0-46 = 1 
 mealcat47-80 = 0 mealcat47-80 = 0
 mealcat81-100 = 0 경우 mealcat81-100 = 0 경우
-''y hat = 808.013''          +''y hat = 809.685''          
-</wrap>  | <wrap> yr_rndbreak = 1 +</wrap>  | <wrap> yr_rndno_break = 0
-yr_rndno_break = 0+
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 1 
 mealcat81-100 = 0 경우   mealcat81-100 = 0 경우  
-''**y hat = 808.013 - 163.737 = 644.276**'' +''y hat = 809.685  
-</wrap>  | <wrap> yr_rndbreak = 1 +          163.737  
-yr_rndno_break = 0+        645.9'' 
 +</wrap>  | <wrap>  
 +yr_rndno_break = 0    
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 0 +mealcat47-80 = 0 경우 
-mealcat81-100 = 1 경우 +''y hat = 809.685  
-''**y hat = 808.013 - 281.683 = 526.33**''+          281.683  
 +        528''
 </wrap>  | </wrap>  |
-| yr_rndno_break  | <wrap> yr_rndbreak = 0 +| yr_rndno_break  | <wrap>  
-yr_rndno_break = 1 +yr_rndbreak = 0
-mealcat0-46 = 1+
 mealcat47-80 = 0 mealcat47-80 = 0
 mealcat81-100 = 0 경우 mealcat81-100 = 0 경우
-''**y hat = 808.013 42.960 765.053**''          +''y hat = 809.685  
-</wrap>  | <wrap> yr_rndbreak = 0 +          74.257  
-yr_rndno_break = 1+        735.4''          
 +</wrap>  | <wrap> aaaaa 
 +yr_rndbreak = 0
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 1 +mealcat81-100 = 0 경우   
-mealcat81-100 = 0 경우  +''y hat = 809.685  
-''**y hat = 808.013 42.960 163.737 601.316**'' +          74.257  
-</wrap>  | <wrap> yr_rndbreak = 0 +          164.412 +  
-yr_rndno_break = 1+          <fc #ff0000>22.517</fc>  
 +        593.5'' 
 +</wrap>  | <wrap> bbbbb 
 +yr_rndbreak = 0    
 mealcat0-46 = 0 mealcat0-46 = 0
-mealcat47-80 = 0 +mealcat47-80 = 0 경우 
-mealcat81-100 = 1 경우 +''y hat = 809.685 - 
-''**y hat = 808.013 42.960 281.683 = 483.37**''+          74.257 - 
 +          288.193 +  
 +          <fc #ff0000>40.764</fc>  
 +        = 488''
 </wrap>  | </wrap>  |
 +마지막 두 케이스를 보면 no_break학교 중에서 밀카테고리 2와 3에서 떨어지는 정도가 어느 정도 완화되는 경향을 보이지만 통계학적으로 significant하지는 않다. 
 +
 +
 +</tabbox>
  
using_dummy_variables.1781048069.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki