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:33] 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>
 +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:
 +break = 방학있음 
 +no_break = 방학없음
 +
 +mealcat: 
 +0-46% free meals
 +47-80%
 +81-100%
 +</code>
 +
 +^                 ^ mealcat0-46  ^ mealcat47-80   ^ mealcat81-100    ^ 
 +| yr_rndbreak     | <wrap> 베이스라인
 +yr_rndno_break = 0
 +mealcat47-80 = 0
 +mealcat81-100 = 0 경우
 +''y hat = 809.685''         
 +</wrap>  | <wrap> yr_rndno_break = 0
 +mealcat0-46 = 0
 +mealcat81-100 = 0 경우  
 +''y hat = 809.685 - 
 +          163.737 
 +        = 645.9''
 +</wrap>  | <wrap> 
 +yr_rndno_break = 0    
 +mealcat0-46 = 0
 +mealcat47-80 = 0 경우
 +''y hat = 809.685 - 
 +          281.683 
 +        = 528''
 +</wrap>  |
 +| yr_rndno_break  | <wrap> 
 +yr_rndbreak = 0
 +mealcat47-80 = 0
 +mealcat81-100 = 0 경우
 +''y hat = 809.685 - 
 +          74.257 
 +        = 735.4''         
 +</wrap>  | <wrap> aaaaa
 +yr_rndbreak = 0
 +mealcat0-46 = 0
 +mealcat81-100 = 0 경우  
 +''y hat = 809.685 - 
 +          74.257 - 
 +          164.412 + 
 +          <fc #ff0000>22.517</fc> 
 +        = 593.5''
 +</wrap>  | <wrap> bbbbb
 +yr_rndbreak = 0    
 +mealcat0-46 = 0
 +mealcat47-80 = 0 경우
 +''y hat = 809.685 -
 +          74.257 -
 +          288.193 + 
 +          <fc #ff0000>40.764</fc> 
 +        = 488''
 +</wrap>  |
 +마지막 두 케이스를 보면 no_break학교 중에서 밀카테고리 2와 3에서 떨어지는 정도가 어느 정도 완화되는 경향을 보이지만 통계학적으로 significant하지는 않다. 
 +
 +
 +</tabbox>
  
using_dummy_variables.1781048002.txt.gz · Last modified: by hkimscil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki