using_dummy_variables
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| using_dummy_variables [2026/06/09 23:12] – [ro.04] hkimscil | using_dummy_variables [2026/06/14 23:15] (current) – [Regression with two Catogorical IVs] hkimscil | ||
|---|---|---|---|
| Line 549: | Line 549: | ||
| 3 = 81-100 | 3 = 81-100 | ||
| </ | </ | ||
| + | |||
| + | * pct (%) of emer (emergency) credentials: | ||
| + | * pct (%) of full credentials: | ||
| 위의 변인들 중에서 " | 위의 변인들 중에서 " | ||
| Line 871: | Line 874: | ||
| {{pasted: | {{pasted: | ||
| {{pasted: | {{pasted: | ||
| - | |||
| 위의 아웃풋을 살펴 보면, 학생들의 성적이 가지는 총 변량의 (Sum of Square Total) 약 22.6% 를 방학이 있고 없고로 구분되는 yr_rnd 변인이 설명을 하고 있으며, 이는 통계적으로 유의미한 것이다 (F(1, 398) = 116.241, p < .001). 위의 regression output은 yr_rnd 변인 중에서 방학이 있는 특성이 baseline이 되어 있으며, 이를 염두에 두고 regression식을 적어 보면 아래와 같다. | 위의 아웃풋을 살펴 보면, 학생들의 성적이 가지는 총 변량의 (Sum of Square Total) 약 22.6% 를 방학이 있고 없고로 구분되는 yr_rnd 변인이 설명을 하고 있으며, 이는 통계적으로 유의미한 것이다 (F(1, 398) = 116.241, p < .001). 위의 regression output은 yr_rnd 변인 중에서 방학이 있는 특성이 baseline이 되어 있으며, 이를 염두에 두고 regression식을 적어 보면 아래와 같다. | ||
| - | $\hat{\text{api00}} | + | '' |
| - | + | * yr_rndno_break: | |
| - | 이 때, $\text{yr_rndnobr} $ 은 no break인 경우를 | + | * y hat = 684.54 - 160.51 * (1) |
| + | * y hat = 524.03 | ||
| + | * yr_rndbreak: | ||
| + | * y hat = 684.54 - 160.51 * (0) | ||
| + | * y hat = 684.54 | ||
| - | * X: 0 = break | + | 위 회귀식에서 r은 |
| - | * X: 1 = no break | + | '' |
| - | + | '' | |
| - | 이므로 x=0 일때를 대입해 보면, | + | break일 경우에는 |
| + | '' | ||
| + | * t.value | ||
| + | * F.value | ||
| + | * t.value.lm | ||
| + | * F.value.lm | ||
| {{regressionCategory.jpg}} | {{regressionCategory.jpg}} | ||
| Line 888: | Line 899: | ||
| 이와 같이 종류변인(category, | 이와 같이 종류변인(category, | ||
| + | |||
| + | ===== Regression with a categorical IV with 3 attributes ===== | ||
| + | <tabbox rs.3att> | ||
| + | < | ||
| + | m.mealcat <- lm(api00 ~ mealcat, data=df) | ||
| + | summary(m.mealcat) | ||
| + | </ | ||
| + | <tabbox ro.3att> | ||
| + | < | ||
| + | > ####################################### | ||
| + | > # categorical IV with 3 or more attributes | ||
| + | > ####################################### | ||
| + | > m.mealcat <- lm(api00 ~ mealcat, data=df) | ||
| + | > summary(m.mealcat) | ||
| + | |||
| + | Call: | ||
| + | lm(formula = api00 ~ mealcat, data = df) | ||
| + | |||
| + | Residuals: | ||
| + | | ||
| + | -253.394 | ||
| + | |||
| + | Coefficients: | ||
| + | | ||
| + | (Intercept) | ||
| + | mealcatto80 | ||
| + | mealcatto100 -301.338 | ||
| + | --- | ||
| + | Signif. codes: | ||
| + | |||
| + | Residual standard error: 70.61 on 397 degrees of freedom | ||
| + | Multiple R-squared: | ||
| + | F-statistic: | ||
| + | |||
| + | > | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | y hat = 805.718 - 166.324 * to80 - 301.338 * to100 | ||
| + | mealcat0-46 (to46 으로 대체) | ||
| + | mealcat47-80 (to80 으로 대체) | ||
| + | maelcat81-100 (to100 으로 대체) | ||
| + | </ | ||
| + | |||
| + | 이에 대한 해석도 앞에서의 것과 마찬가지이다. | ||
| + | * y hat = 805.718 - 166.324*mg2 - 301.338*mg3 | ||
| + | * mg1 = 1, mg2 = 0, mg3 = 0 일 경우 | ||
| + | * y hat = 805.718 - 166.324*(0) - 301.338*(0) | ||
| + | * y hat = 805.718 | ||
| + | * mg1 = 0, mg2 = 1, mg3 = 0 일 경우 | ||
| + | * y hat = 805.718 - 166.324*(1) - 301.338*(0) | ||
| + | * y hat = 805.718 - 166.324 | ||
| + | * y hat = 639.394 | ||
| + | * mg1 = 0, mg2 = 0, mg3 = 1 일 경우 | ||
| + | * y hat = 805.718 - 166.324*(0) - 301.338*(1) | ||
| + | * y hat = 805.718 - 301.338 | ||
| + | * y hat = 504.38 | ||
| + | |||
| + | * 즉, 무료급식의 퍼센티지가 높을 수록 api점수가 낮음을 알 수 있다. 이렇게 무료급식 퍼센티지를 독립변인으로 종속변인인 api00점수를 (학력점수) 봤을 때, 그 설명력이 통계학적으로 유효한가는 regression output에서 (summary(mod2)) | ||
| + | * F-value 와 p-value를 가지고 판단한다. | ||
| + | * (F (2, 397) = 611.1; p-value < 2.2e-16) | ||
| + | * 위에서 2, 397 은 각각 between degrees of freedom 과 within degrees of freedom 이다. 이를 보고도 우리는 | ||
| + | * 총 400개의 학교가 데이터에 참여했음을 알 수 있고 (2 + 397 에 1을 더한 값), | ||
| + | * 독립변인의 종류가 3가지 (df = 2 이므로) 임을 알 수 있다. | ||
| + | * R square value 는 설명력의 크기를 알려준다. | ||
| + | * 0.7548 즉, 75.48% 를 독립변인이 종속변인을 설명한다 (상당한 크기임을 알 수 있다). | ||
| + | |||
| ===== Regression with a continuous and a categorical IV ===== | ===== Regression with a continuous and a categorical IV ===== | ||
| Line 1058: | Line 1137: | ||
| > | > | ||
| > | > | ||
| + | </ | ||
| + | {{pasted: | ||
| + | |||
| + | < | ||
| > # 1. 평균을 빼준 값을 새로운 변인으로 저장 | > # 1. 평균을 빼준 값을 새로운 변인으로 저장 | ||
| > df$meals_centered <- | > df$meals_centered <- | ||
| Line 1101: | Line 1184: | ||
| > | > | ||
| > | > | ||
| + | </ | ||
| + | {{pasted: | ||
| + | |||
| + | < | ||
| > # Install the package if you do not have it | > # Install the package if you do not have it | ||
| > # install.packages(" | > # install.packages(" | ||
| Line 1110: | Line 1197: | ||
| > | > | ||
| > | > | ||
| + | </ | ||
| + | {{pasted: | ||
| + | |||
| + | < | ||
| > m.ellyr_rnd <- lm(api00~ell+yr_rnd, | > m.ellyr_rnd <- lm(api00~ell+yr_rnd, | ||
| > summary(m.ellyr_rnd) | > summary(m.ellyr_rnd) | ||
| Line 1210: | Line 1301: | ||
| > | > | ||
| </ | </ | ||
| - | </ | ||
| - | {{pasted: | ||
| - | {{pasted: | ||
| - | {{pasted: | ||
| {{pasted: | {{pasted: | ||
| - | ===== 3 or more groups ===== | + | </ |
| - | 만약에 ANOVA 테스트에서와 같이 종류가 3개 이상인 변인은 어떻게 처리해야 할까? 아래는 이를 regression으로 테스트 한 결과이다. | + | |
| + | ===== Regression with a categorical and a continuous IV: e.g. 2 ===== | ||
| + | <tabbox rs.06> | ||
| < | < | ||
| - | > mod2 <- lm(api00 ~ factor(mealcat), data=datavar) | + | ############################### |
| - | > mod2 | + | # 다른 예 |
| + | ############################### | ||
| + | m.ellmealcat | ||
| + | summary(m.ellmealcat) | ||
| + | # install.packages(" | ||
| + | # library(emmeans) | ||
| + | # Calculate estimated marginal means for each group | ||
| + | gmeans <- emmeans(m.ellmealcat, | ||
| + | # Perform pairwise comparisons using Tukey' | ||
| + | pairs(gmeans, | ||
| - | Call: | + | m.ellxmealcat <- lm(api00~ell*mealcat, |
| - | lm(formula = api00 ~ factor(mealcat), | + | summary(m.ellxmealcat) |
| + | df %>% | ||
| + | ggplot(aes(x = ell, y = api00, color = factor(mealcat))) + | ||
| + | geom_point(size = 3) + | ||
| + | geom_smooth(method = " | ||
| + | scale_color_brewer(palette = " | ||
| + | labs(title = " | ||
| + | x = " (ell, english language learner)", | ||
| + | y = " | ||
| - | Coefficients: | + | mealcat1 <- summary(m.ellxmealcat)$coefficients[[1]] |
| - | (Intercept) | + | mealcat2 <- summary(m.ellxmealcat)$coefficients[[1]] + |
| - | 805.7 | + | summary(m.ellxmealcat)$coefficients[[3]] |
| + | mealcat3 <- summary(m.ellxmealcat)$coefficients[[1]] + | ||
| + | summary(m.ellxmealcat)$coefficients[[4]] | ||
| + | data.frame(mealcat1, | ||
| - | > summary(mod2) | + | ell.slope.mealcat1 <- summary(m.ellxmealcat)$coefficients[[2]] |
| + | ell.slope.mealcat2 <- summary(m.ellxmealcat)$coefficients[[2]] + | ||
| + | summary(m.ellxmealcat)$coefficients[[5]] | ||
| + | ell.slope.mealcat3 <- summary(m.ellxmealcat)$coefficients[[2]] + | ||
| + | summary(m.ellxmealcat)$coefficients[[6]] | ||
| + | data.frame(ell.slope.mealcat1, | ||
| + | | ||
| + | | ||
| + | |||
| + | </ | ||
| + | <tabbox ro.06> | ||
| + | < | ||
| + | > ############################### | ||
| + | > # 다른 예 | ||
| + | > ############################### | ||
| + | > m.ellmealcat <- lm(api00~ell+mealcat, | ||
| + | > summary(m.ellmealcat) | ||
| Call: | Call: | ||
| - | lm(formula = api00 ~ factor(mealcat), data = datavar) | + | lm(formula = api00 ~ ell + mealcat, data = df) |
| Residuals: | Residuals: | ||
| - | Min | + | |
| - | -253.394 -47.883 | + | -224.96 -42.70 -0.32 |
| Coefficients: | Coefficients: | ||
| - | Estimate Std. Error t value Pr(> | + | Estimate Std. Error t value Pr(> |
| - | (Intercept) | + | (Intercept) |
| - | factor(mealcat)2 | + | ell |
| - | factor(mealcat)3 | + | mealcatto80 |
| + | mealcatto100 | ||
| --- | --- | ||
| Signif. codes: | Signif. codes: | ||
| - | Residual standard error: | + | Residual standard error: |
| - | Multiple R-squared: | + | Multiple R-squared: |
| - | F-statistic: | + | F-statistic: |
| + | |||
| + | > # install.packages(" | ||
| + | > # library(emmeans) | ||
| + | > # Calculate estimated marginal means for each group | ||
| + | > gmeans <- emmeans(m.ellmealcat, | ||
| + | > # Perform pairwise comparisons using Tukey' | ||
| + | > pairs(gmeans, | ||
| + | | ||
| + | to46 - to80 | ||
| + | to46 - to100 230.7 12.30 396 18.774 | ||
| + | to80 - to100 | ||
| + | P value adjustment: tukey method for comparing a family of 3 estimates | ||
| > | > | ||
| - | </code> | + | > m.ellxmealcat |
| + | > summary(m.ellxmealcat) | ||
| - | 아까와 같은 두 집단 간의 비교는 가능하였지만, 세 집단인 이 경우에 regression 테스트는 x를 연속변인으로 하는 선형관계를 구하게 된다. 즉, 두집단으로 이루어진 변인의 경우, 한 집단을 0으로 보았을 때 다른 집단은 자동으로 1이 되고, 이 둘을 비교하는 것이었는데, | + | Call: |
| + | lm(formula = api00 ~ ell * mealcat, data = df) | ||
| - | SPSS의 경우에는 아래와 같이 recode작업을 할 수 있다. | + | Residuals: |
| + | | ||
| + | -221.854 -43.244 | ||
| - | < | + | Coefficients: |
| - | if mealcat = 1 mealcat1 = 1. | + | Estimate Std. Error t value Pr(> |
| - | compute mealcat2 = 0. | + | (Intercept) |
| - | if mealcat = 2 mealcat2 = 1. | + | ell -3.4447 |
| - | compute mealcat3 = 0. | + | mealcatto80 |
| - | if mealcat = 3 mealcat3 = 1. | + | mealcatto100 |
| - | execute. | + | ell: |
| - | </ | + | ell: |
| + | --- | ||
| + | Signif. codes: | ||
| - | 위는 해당 카데고리를 1로 만들고, 나머지를 | + | Residual standard error: 65.47 on 394 degrees of freedom |
| + | Multiple R-squared: | ||
| + | F-statistic: | ||
| - | <code>regression | + | > df %>% |
| - | / | + | + |
| - | /method = enter mealcat2 mealcat3. | + | + |
| - | 주의. 세개의 변인을 모두 넣지 않는다. | + | + |
| + | + | ||
| + | + | ||
| + | + x = " (ell, english language learner)", | ||
| + | + y = " | ||
| + | `geom_smooth()` using formula = 'y ~ x' | ||
| + | > | ||
| + | > mealcat1 <- summary(m.ellxmealcat)$coefficients[[1]] | ||
| + | > mealcat2 | ||
| + | + | ||
| + | > mealcat3 | ||
| + | + | ||
| + | > data.frame(mealcat1, | ||
| + | mealcat1 mealcat2 mealcat3 | ||
| + | 1 836.7724 690.1597 565.9368 | ||
| + | > | ||
| + | > ell.slope.mealcat1 <- summary(m.ellxmealcat)$coefficients[[2]] | ||
| + | > ell.slope.mealcat2 <- summary(m.ellxmealcat)$coefficients[[2]] + | ||
| + | + | ||
| + | > ell.slope.mealcat3 <- summary(m.ellxmealcat)$coefficients[[2]] + | ||
| + | + | ||
| + | > data.frame(ell.slope.mealcat1, | ||
| + | + ell.slope.mealcat2, | ||
| + | + ell.slope.mealcat3) | ||
| + | ell.slope.mealcat1 ell.slope.mealcat2 ell.slope.mealcat3 | ||
| + | 1 -3.444691 | ||
| + | > | ||
| </ | </ | ||
| + | </ | ||
| + | {{pasted: | ||
| + | ===== Regression with two Catogorical IVs ===== | ||
| + | <tabbox rs.07> | ||
| + | < | ||
| + | ########################################## | ||
| + | # 카테고리 iv 2개 | ||
| + | ########################################## | ||
| + | m.yrrndmealcat <- lm(api00~yr_rnd+mealcat, | ||
| + | summary(m.yrrndmealcat) | ||
| - | <code> | + | # 해석. |
| - | Model R R Square Adjusted R Square Std. Error of the Estimate | + | coefs <- summary(m.yrrndmealcat)$coefficients |
| - | 1 .869a .755 .754 70.612 | + | coefs |
| - | a. Predictors: | + | br.to46 <- coefs[1] |
| + | br.to80 <- coefs[1]+coefs[3] | ||
| + | br.to100 <- coefs[1]+coefs[4] | ||
| + | nobr.to46 <- coefs[1]+coefs[2] | ||
| + | nobr.to80 <- coefs[1]+coefs[2]+coefs[3] | ||
| + | nobr.to100 <- coefs[1]+coefs[2]+coefs[4] | ||
| + | cat(br.to46, br.to80, br.to100) | ||
| + | cat(nobr.to46, nobr.to80, nobr.to100) | ||
| - | ANOVA(b) | + | # 해석. interaction |
| - | Model Sum of Squares df Mean Square F Sig. | + | m.yrrndxmealcat <- lm(api00~yr_rnd*mealcat, |
| - | 1 Regression 6094197.670 2 3047098.835 611.121 .000a | + | summary(m.yrrndxmealcat) |
| - | Residual 1979474.328 397 4986.081 | + | |
| - | Total 8073671.997 399 | + | |
| - | a. Predictors: | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | Coefficients(a) | + | |
| - | Unstandardized Coefficients Standardized Coefficients | + | |
| - | Model B Std. Error Beta t Sig. | + | |
| - | 1 (Constant) 805.718 6.169 130.599 .000 | + | |
| - | mealcat2 -166.324 8.708 -.550 -19.099 .000 | + | |
| - | mealcat3 -301.338 8.629 -1.007 -34.922 .000 | + | |
| - | a. Dependent Variable: api 2000 | + | |
| + | coefs <- summary(m.yrrndxmealcat)$coefficients | ||
| + | coefs | ||
| + | br.to46 <- coefs[1] | ||
| + | br.to80 <- coefs[1]+coefs[3] | ||
| + | br.to100 <- coefs[1]+coefs[4] | ||
| + | nobr.to46 <- coefs[1]+coefs[2] | ||
| + | nobr.to80 <- coefs[1]+coefs[2]+coefs[3]+coefs[5] | ||
| + | nobr.to100 <- coefs[1]+coefs[2]+coefs[4]+coefs[6] | ||
| + | cat(br.to46, | ||
| + | cat(nobr.to46, | ||
| </ | </ | ||
| + | <tabbox ro.07> | ||
| + | < | ||
| + | > ########################################## | ||
| + | > # 카테고리 iv 2개 | ||
| + | > ########################################## | ||
| + | > m.yrrndmealcat <- lm(api00~yr_rnd+mealcat, | ||
| + | > summary(m.yrrndmealcat) | ||
| - | | **Coefficients(a)** | + | Call: |
| - | | | | Unstandardized Coefficients | + | lm(formula = api00 ~ yr_rnd + mealcat, data = df) |
| - | | Model | + | |
| - | | 1 | + | |
| - | | | mealcat2 | + | |
| - | | | mealcat3 | + | |
| - | | a. Dependent Variable: api 2000 | + | |
| - | 위에서 | + | Residuals: |
| - | $\hat{Y} = 805.718 | + | Min 1Q Median |
| + | -215.32 | ||
| - | 이에 대한 해석은 | + | Coefficients: |
| - | * mealcat2와 mealcat3이 0일 때 (즉 mealcat1 변인의 상태일 때), 805.718 | + | Estimate Std. Error t value Pr(>|t|) |
| - | * mealcat3이 0일 때, 805.718-166.324 = 639.39 의 상황 | + | (Intercept) |
| - | | + | yr_rndnobr |
| - | * 그리고, 이 값들은 바로 각 그룹의 평균값이 된다. | + | mealcatto80 |
| + | mealcatto100 -281.683 9.446 -29.821 | ||
| + | --- | ||
| + | Signif. codes: | ||
| - | < | + | Residual standard error: 68.89 on 396 degrees of freedom |
| - | api 2000 | + | Multiple R-squared: |
| - | Percentage free meals in 3 categories Mean N Std. Deviation | + | F-statistic: |
| - | 0-46% free meals 805.72 131 65.669 | + | |
| - | 47-80% free meals 639.39 132 82.135 | + | |
| - | 81-100% free meals 504.38 137 62.727 | + | |
| - | Total 647.62 400 142.249 | + | |
| - | </ | + | |
| - | 위에서, mealcat1대신에 mealcat3 그룹을 빼고 사용했어도, | + | > |
| - | + | > # 해석. | |
| - | 마지막으로, | + | > coefs <- summary(m.yrrndmealcat)$coefficients |
| - | + | > coefs | |
| - | <code>glm | + | |
| - | api00 by mealcat | + | (Intercept) |
| - | / | + | yr_rndnobr |
| + | mealcatto80 | ||
| + | mealcatto100 -281.68318 | ||
| + | > br.to46 | ||
| + | > br.to80 <- coefs[1]+coefs[3] | ||
| + | > br.to100 <- coefs[1]+coefs[4] | ||
| + | > nobr.to46 <- coefs[1]+coefs[2] | ||
| + | > nobr.to80 <- coefs[1]+coefs[2]+coefs[3] | ||
| + | > nobr.to100 <- coefs[1]+coefs[2]+coefs[4] | ||
| + | > cat(br.to46, | ||
| + | 808.0131 644.2758 526.33 | ||
| + | > cat(nobr.to46, | ||
| + | 765.0531 601.3157 483.3699> | ||
| </ | </ | ||
| + | 예측식은 아래와 같다. | ||
| + | < | ||
| + | y hat = 808.013 + -42.960*(yr_rndno_break) + -163.737(mealcat47-80) + -281.683(mealcat81-100) | ||
| - | | **Between-Subjects Factors** | + | yr_rnd: |
| - | | | | Value Label | N | | + | break = 방학있음 |
| - | | Percentage free meals in 3 categories | + | no_break |
| - | | | 2 | 47-80% free meals | 132 | | + | |
| - | | | 3 | 81-100% free meals | 137 | | + | |
| - | + | ||
| - | | **Tests of Between-Subjects Effects** | + | |
| - | | Dependent Variable:api 2000 | + | |
| - | | Source | + | |
| - | | Corrected Model | 6.094E6 | + | |
| - | | Intercept | + | |
| - | | mealcat | + | |
| - | | Error | 1979474.328 | + | |
| - | | Total | 1.758E8 | + | |
| - | | Corrected Total | 8073671.997 | + | |
| - | |a. R Squared | + | |
| - | + | ||
| - | | **Parameter Estimates** | + | |
| - | | Dependent Variable: | + | |
| - | | | | | | | 95% Confidence Interval | + | |
| - | | Parameter | + | |
| - | | Intercept | + | |
| - | | [mealcat=1] | 301.338 | + | |
| - | | [mealcat=2] | + | |
| - | | [mealcat=3] | + | |
| - | | a. This parameter is set to zero because it is redundant. | + | |
| - | + | ||
| - | 혹은 Oneway ANOVA | + | |
| - | < | + | mealcat: |
| - | / | + | 0-46% free meals |
| - | /PLOT MEANS | + | 47-80% |
| - | / | + | 81-100% |
| - | / | + | |
| </ | </ | ||
| + | 이에 대한 해석은 각각의 독립변인의 종류 수인 2개와 3개를 곱한 6개의 경우로 나누어서 생각할 수 있다. 즉, | ||
| + | '' | ||
| + | 을 바탕으로 각각의 조건을 고려하여 y hat를 계산하면 아래와 같다. | ||
| - | | | Sum of Squares | + | <wrap # |
| - | | | + | TABLE. Two dummy variables |
| - | | | + | ^ ^ mealcat0-46 |
| - | | Total | 8073671.998 | 399 | | | | + | | yr_rndbreak |
| + | yr_rndno_break = 0 | ||
| + | mealcat0-46 = 1 | ||
| + | mealcat47-80 = 0 | ||
| + | mealcat81-100 = 0 경우 | ||
| + | '' | ||
| + | </ | ||
| + | yr_rndno_break = 0 | ||
| + | mealcat0-46 = 0 | ||
| + | mealcat47-80 = 1 | ||
| + | mealcat81-100 = 0 경우 | ||
| + | '' | ||
| + | </ | ||
| + | yr_rndno_break = 0 | ||
| + | mealcat0-46 = 0 | ||
| + | mealcat47-80 = 0 | ||
| + | mealcat81-100 = 1 경우 | ||
| + | '' | ||
| + | </ | ||
| + | | yr_rndno_break | ||
| + | yr_rndno_break = 1 | ||
| + | mealcat0-46 = 1 | ||
| + | mealcat47-80 = 0 | ||
| + | mealcat81-100 = 0 경우 | ||
| + | '' | ||
| + | </ | ||
| + | yr_rndno_break = 1 | ||
| + | mealcat0-46 = 0 | ||
| + | mealcat47-80 = 1 | ||
| + | mealcat81-100 = 0 경우 | ||
| + | '' | ||
| + | </ | ||
| + | yr_rndno_break = 1 | ||
| + | mealcat0-46 = 0 | ||
| + | mealcat47-80 = 0 | ||
| + | mealcat81-100 = 1 경우 | ||
| + | '' | ||
| + | </ | ||
| + | < | ||
| + | > # 해석. interaction | ||
| + | > m.yrrndxmealcat <- lm(api00~yr_rnd*mealcat, | ||
| + | > summary(m.yrrndxmealcat) | ||
| - | ===== 2 variables, categorical | + | Call: |
| - | 위에서 사용된 __2 개의 독립변인을 모두__ 넣어서 regression을 할 수도 있다. 위에서 언급한 경로를 따른다면, | + | lm(formula |
| - | < | + | Residuals: |
| - | /dep api00 | + | Min |
| - | /method = enter yr_rnd mealcat1 mealcat2. | + | -207.533 |
| - | </ | + | |
| - | | **Model Summary** | + | Coefficients: |
| - | | Model | R | R Square | + | Estimate Std. Error t value Pr(>|t|) |
| - | | 1 | + | (Intercept) |
| - | | a. Predictors: (Constant), mealcat2, year round school, mealcat1 | + | yr_rndnobr |
| + | mealcatto80 | ||
| + | mealcatto100 | ||
| + | yr_rndnobr: | ||
| + | yr_rndnobr: | ||
| + | --- | ||
| + | Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 | ||
| - | | **ANOVA(b)** | + | Residual standard error: 68.87 on 394 degrees |
| - | | Model | + | Multiple R-squared: |
| - | | 1 | Regression | + | F-statistic: |
| - | | | Residual | + | |
| - | | | Total | 8073671.997 | + | |
| - | | a. Predictors: (Constant), mealcat2, year round school, mealcat1 | + | |
| - | | b. Dependent Variable: api 2000 | + | |
| - | ^ **Coefficients(a)** | + | > |
| - | | | | Unstandardized \\ Coefficients | + | > coefs <- summary(m.yrrndxmealcat)$coefficients |
| - | | Model | + | > coefs |
| - | | 1 | + | |
| - | | | year round school | + | (Intercept) 809.68548 |
| - | | | mealcat1 | + | yr_rndnobr |
| - | | | mealcat2 | + | mealcatto80 |
| - | | a. Dependent Variable: api 2000 | + | mealcatto100 |
| - | + | yr_rndnobr: | |
| - | + | yr_rndnobr: | |
| - | 똑같은 분석이지만 뒤의 두 변인의 효과를 따로 보기 위해서 뽑은 결과이다. | + | > br.to46 <- coefs[1] |
| - | + | > br.to80 <- coefs[1]+coefs[3] | |
| - | <code>regression | + | > br.to100 <- coefs[1]+coefs[4] |
| - | /dep api00 | + | > nobr.to46 <- coefs[1]+coefs[2] |
| - | /method = enter yr_rnd | + | > nobr.to80 <- coefs[1]+coefs[2]+coefs[3]+coefs[5] |
| - | / | + | > nobr.to100 |
| + | > cat(br.to46, | ||
| + | 809.6855 645.2735 521.4925 | ||
| + | > cat(nobr.to46, nobr.to80, nobr.to100) | ||
| + | 735.4286 593.5333 488 | ||
| + | > | ||
| </ | </ | ||
| + | 위의 테스트는 두 개의 독립변인이 모두 종류이고 종속변인이 숫자일 때의 조건을 만족하니 factorial anova를 해도 된다. 아래는 그 결과이다. | ||
| + | < | ||
| + | > mod4 <- lm(api00 ~ yr_rnd + mealcat + yr_rnd: | ||
| + | > summary(mod4) | ||
| - | ^ Model Summary | + | Call: |
| - | | Model | R | R Square | + | lm(formula = api00 ~ yr_rnd + mealcat + yr_rnd:mealcat, data = datavar) |
| - | | 1 | .475a | .226 | .224 | 125.300 | + | |
| - | | 2 | .876b | .767 | .765 | 68.893 | + | |
| - | | a. Predictors: (Constant), year round school | + | |
| + | Residuals: | ||
| + | | ||
| + | -207.533 | ||
| - | | ANOVA(d) | | + | Coefficients: |
| - | | Model | + | |
| - | | 1 | Regression | + | (Intercept) |
| - | | | Residual | + | yr_rndno_break |
| - | | | Total | + | mealcat47-80 |
| - | | 2 | Subset Tests | mealcat1, mealcat2 | + | mealcat81-100 |
| - | | | Regression | + | yr_rndno_break: |
| - | | | Residual | + | yr_rndno_break: |
| - | | | Total | + | --- |
| - | | a. Predictors: (Constant), year round school | + | Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 |
| - | + | Residual standard error: 68.87 on 394 degrees of freedom | |
| - | ^ Coefficients(a) | + | Multiple R-squared: |
| - | | | | Unstandardized Coefficients | + | F-statistic: 261.6 on 5 and 394 DF, |
| - | | Model | + | |
| - | | 1 | (Constant) | + | |
| - | | | year round school | + | |
| - | | 2 | (Constant) | + | |
| - | | | year round school | + | |
| - | | | mealcat1 | + | |
| - | | | mealcat2 | + | |
| - | | a. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | + | ||
| - | ^ **Excluded Variables(b)** | + | |
| - | | | | | | | | Collinearity Statistics | + | |
| - | | Model | + | |
| - | | 1 | mealcat1 | + | |
| - | | | mealcat2 | + | |
| - | | a. Predictors in the Model: (Constant), year round school | + | |
| - | + | ||
| - | + | ||
| - | 해석에 대해서 . . . . | + | |
| - | ^ **interpretation** | + | |
| - | | | mealcat=1 | + | |
| - | |yr_rnd=0 | + | |
| - | |yr_rnd=1 | + | |
| - | + | ||
| - | + | ||
| - | ^ **interpretation** | + | |
| - | | | mealcat=1 | + | |
| - | | | mealcat=1->1 | mealcat=2-> | + | |
| - | | yr_rnd=0 | + | |
| - | | ::: | intercept + \\ BMealCat1 | + | |
| - | | yr_rnd=1 | + | |
| - | | ::: | intercept + \\ BMealCat1 + \\ Byr_rnd | + | |
| - | + | ||
| - | <code> | + | |
| - | api00 BY yr_rnd mealcat | + | |
| - | /DESIGN = yr_rnd mealcat | + | |
| - | / | + | |
| </ | </ | ||
| - | ===== continuous + categorical variables ===== | + | < |
| - | < | + | Coefficients: |
| - | /dep = api00 | + | Estimate Std. Error t value Pr(>|t|) |
| - | /method = enter yr_rnd some_col | + | (Intercept) |
| - | /save pre. | + | yr_rndno_break |
| - | * pre = predicted | + | mealcat47-80 |
| + | mealcat81-100 | ||
| + | yr_rndno_break: | ||
| + | yr_rndno_break: | ||
| + | --- | ||
| - | output: | + | 이전 식 |
| + | 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) + | ||
| + | | ||
| + | | ||
| - | Model Summary(b) | + | yr_rnd: |
| - | Model R R Square Adjusted R Square Std. Error of the Estimate | + | break = 방학있음 |
| - | 1 .507a .257 .253 122.951 | + | no_break = 방학없음 |
| - | a. Predictors: (Constant), parent some college, year round school | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | ANOVA(b) | + | |
| - | Model Sum of Squares df Mean Square F Sig. | + | |
| - | 1 Regression 2072201.839 2 1036100.919 68.539 .000a | + | |
| - | Residual 6001470.159 397 15117.053 | + | |
| - | Total 8073671.997 399 | + | |
| - | a. Predictors: (Constant), parent some college, year round school | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | Coefficients(a) | + | |
| - | Unstandardized Coefficients Standardized Coefficients | + | |
| - | Model B Std. Error Beta t Sig. | + | |
| - | 1 (Constant) 637.858 13.503 47.237 .000 | + | |
| - | year round school -149.159 14.875 -.442 -10.027 .000 | + | |
| - | parent some college 2.236 553 .178 4.044 .000 | + | |
| - | a. Dependent Variable: api 2000 | + | |
| + | mealcat: | ||
| + | 0-46% free meals | ||
| + | 47-80% | ||
| + | 81-100% | ||
| </ | </ | ||
| - | + | ^ ^ mealcat0-46 | |
| - | <code>COMPUTE filt=(yr_rnd=0). | + | | yr_rndbreak |
| - | FILTER BY filt. | + | yr_rndno_break |
| - | regress | + | mealcat47-80 |
| - | / | + | mealcat81-100 |
| - | / | + | '' |
| - | </code> | + | </wrap> | < |
| - | + | mealcat0-46 = 0 | |
| - | 위의 명령어는 (spss) yr_rnd value -> 0 인것을 선택하여, | + | mealcat81-100 = 0 경우 |
| - | 필터링되지 않은 케이스들은 버려지게 되어 필터링이 된 케이스들만 선택이 되어 분석에 사용됨을 뜻 한다. 즉, 위는 rn_rnd값이 | + | '' |
| - | + | 163.737 | |
| - | < | + | = 645.9'' |
| - | Model R R Square Adjusted R Square Std. Error of the Estimate | + | </ |
| - | 1 .126a .016 .013 131.278 | + | yr_rndno_break = 0 |
| - | a. Predictors: (Constant), parent some college | + | mealcat0-46 = 0 |
| - | + | mealcat47-80 = 0 경우 | |
| - | ANOVA(b) | + | '' |
| - | Model Sum of Squares df Mean Square F Sig. | + | 281.683 |
| - | 1 Regression 84700.858 1 84700.858 4.915 .027a | + | = 528'' |
| - | Residual 5273591.675 306 17233.960 | + | </wrap> | |
| - | Total 5358292.532 307 | + | | yr_rndno_break |
| - | a. Predictors: (Constant), parent some college | + | yr_rndbreak |
| - | b. Dependent Variable: api 2000 | + | mealcat47-80 |
| - | + | mealcat81-100 | |
| - | Coefficients(a) | + | '' |
| - | Unstandardized Coefficients Standardized Coefficients | + | 74.257 |
| - | Model B Std. Error Beta t Sig. | + | = 735.4'' |
| - | 1 (Constant) 655.110 15.237 42.995 .000 | + | </wrap> |
| - | parent some college 1.409 .636 .126 2.217 .027 | + | yr_rndbreak = 0 |
| - | a. Dependent Variable: api 2000 | + | mealcat0-46 = 0 |
| - | </code> | + | mealcat81-100 = 0 경우 |
| - | + | '' | |
| - | {{regression-cat0.jpg}} | + | 74.257 - |
| - | + | | |
| - | <code>COMPUTE filt=(yr_rnd=1). | + | |
| - | FILTER BY filt. | + | = 593.5'' |
| - | regress | + | </wrap> |
| - | / | + | yr_rndbreak = 0 |
| - | / | + | mealcat0-46 = 0 |
| - | + | mealcat47-80 = 0 경우 | |
| - | + | '' | |
| - | Model Summary | + | 74.257 - |
| - | Model R R Square Adjusted R Square Std. Error of the Estimate | + | 288.193 + |
| - | 1 .648a .420 .413 75.773 | + | < |
| - | a. Predictors: (Constant), parent some college | + | = 488'' |
| - | + | </ | |
| - | ANOVA(b) | + | 마지막 |
| - | Model Sum of Squares df Mean Square F Sig. | + | |
| - | 1 Regression 373644.064 1 373644.064 65.078 .000a | + | |
| - | Residual 516734.838 90 5741.498 | + | |
| - | Total 890378.902 91 | + | |
| - | a. Predictors: (Constant), parent some college | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | Coefficients(a) | + | |
| - | Unstandardized Coefficients Standardized Coefficients | + | |
| - | Model B Std. Error Beta t Sig. | + | |
| - | 1 (Constant) 407.039 16.515 24.647 .000 | + | |
| - | parent some college 7.403 .918 .648 8.067 .000 | + | |
| - | a. Dependent Variable: api 2000 | + | |
| - | </code> | + | |
| - | + | ||
| - | {{regression-cat1.jpg}} | + | |
| - | + | ||
| - | ===== interaction effect ===== | + | |
| - | + | ||
| - | 위의 두 regression은 yr_rnd 변인이 갖는 두 가지 특성에 대해서 따로 regression (api_00 <- some_col) 을 한 것이다. 이 결과, 두 집단의 regression 기울기 (coefficient)가 다르다는 것을 알았다. 즉, some_col의 api_00에 대한 영향력이 다르다는 것이다. 이는 각각의 상황(변인의 특성)에 따라서 동일한 독립변인이 역할을 달리하는 것으로 상호효과(interaction effect)라고 할 수 있다. 따라서, 두 기울기가 혹은 계수(coefficients)가 서로 다르다는 것을 검증한다면, | + | |
| - | + | ||
| - | 아래는 새로운 변인을 만들어서 변인의 값으로 yr_rnd와 some_col값을 곱한 값을 대체한 것이다. 즉, | + | |
| - | + | ||
| - | DV: api00 | + | |
| - | + | ||
| - | IV1: some_col | + | |
| - | IV2: yr_rnd | + | |
| - | IV3: yr_rnd * some_col | + | |
| - | + | ||
| - | < | + | |
| - | execute. | + | |
| - | </code> | + | |
| - | + | ||
| - | 그리고, 이 변인을 regression 공식에 이용한다. | + | |
| - | + | ||
| - | <code>regress | + | |
| - | /dep = api00 | + | |
| - | / | + | |
| - | /save pre. | + | |
| - | </code> | + | |
| - | + | ||
| - | <code>output: | + | |
| - | Model Summary(b) | + | |
| - | Model R R Square Adjusted R Square Std. Error of the Estimate | + | |
| - | 1 .532a .283 .277 120.922 | + | |
| - | a. Predictors: (Constant), yrXsome, parent some college, year round school | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | ANOVA(b) | + | |
| - | Model Sum of Squares df Mean Square F Sig. | + | |
| - | 1 Regression 2283345.485 3 761115.162 52.053 .000a | + | |
| - | Residual 5790326.513 396 14622.037 | + | |
| - | Total 8073671.997 399 | + | |
| - | a. Predictors: (Constant), yrXsome, parent some college, year round school | + | |
| - | b. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | Coefficients(a) | + | |
| - | Unstandardized Coefficients Standardized Coefficients | + | |
| - | Model B Std. Error Beta t Sig. | + | |
| - | 1 (Constant) 655.110 14.035 46.677 .000 | + | |
| - | parent some college 1.409 .586 .112 2.407 .017 | + | |
| - | year round school -248.071 29.859 -.735 -8.308 .000 | + | |
| - | __yrXsome__ 5.993 1.577 .330 3.800 .000 | + | |
| - | a. Dependent Variable: api 2000 | + | |
| - | + | ||
| - | Residuals Statistics(a) | + | |
| - | Minimum Maximum Mean Std. Deviation N | + | |
| - | Predicted Value 407.04 749.54 647.62 75.648 400 | + | |
| - | Residual -275.118 279.252 .000 120.466 400 | + | |
| - | Std. Predicted Value -3.180 1.347 .000 1.000 400 | + | |
| - | Std. Residual -2.275 2.309 .000 .996 400 | + | |
| - | a. Dependent Variable: api 2000 | + | |
| - | </code> | + | |
| - | + | ||
| - | 위에서 __yr_rnd__의 b 계수 값이 5.993으로 유의미하다고 판단된다 (t = 3.800, p < .001). 따라서 | + | |
| - | + | ||
| - | {{regression-cat2-interctionx.jpg}} | + | |
| - | {{regression-cat2-interaction-each.jpg}} | + | |
| - | + | ||
| - | 위의 | + | |
| - | + | ||
| - | < | + | |
| - | api00 BY yr_rnd WITH some_col | + | |
| - | /DESIGN = some_col yr_rnd yr_rnd*some_col. | + | |
| - | + | ||
| - | or | + | |
| - | UNIANOVA api00 BY yr_rnd WITH some_col | + | |
| - | / | + | |
| - | / | + | |
| - | + | ||
| - | </ | + | |
| + | </ | ||
using_dummy_variables.1781046721.txt.gz · Last modified: by hkimscil
