ANOVA와 선형 모형

SAS 사용자를 위한 R

Melinda Higgins, PhD

Research Professor/Senior Biostatistician Emory University

결측값 참고

# bmicat별 통계 - ANOVA 기술통계
daviskeep %>%
  group_by(bmicat) %>%
  select(diffht, bmicat) %>%
  summarise(across(everything(),
                   list(mean = ~mean(.x),
                        sd = ~sd(.x),
                        var = ~var(.x))),
            N = n())
# A tibble: 3 × 5
  bmicat          diffht_mean diffht_sd diffht_var     N
  <chr>                 <dbl>     <dbl>      <dbl> <int>
1 1. underwt/norm       NA       NA         NA       161
2 2. overwt             NA       NA         NA        35
3 3. obese              -2.67     0.577      0.333     3
SAS 사용자를 위한 R

결측값 참고

# bmicat별 통계 - ANOVA 기술통계
daviskeep %>%
  group_by(bmicat) %>%
  select(diffht, bmicat) %>%
  summarise(across(everything(),
                   list(mean = ~mean(.x, na.rm = TRUE),
                        sd = ~sd(.x, na.rm = TRUE),
                        var = ~var(.x, na.rm = TRUE))),
            N = n())
# A tibble: 3 × 5
  bmicat          diffht_mean diffht_sd diffht_var     N
  <chr>                 <dbl>     <dbl>      <dbl> <int>
1 1. underwt/norm       -2.12     2.14       4.56    161
2 2. overwt             -1.78     1.91       3.66     35
3 3. obese              -2.67     0.577      0.333     3
SAS 사용자를 위한 R

분산분석(ANOVA) SAS와 R

SAS PROC ANOVA와 R aov 및 TukeyHSD 함수

SAS 사용자를 위한 R

SAS PROC ANOVA와 R aov 함수

SAS 사용자를 위한 R

SAS PROC ANOVA와 R aov 함수의 모델 구문

SAS 사용자를 위한 R

SAS PROC ANOVA와 R aov 함수의 터키 비교

SAS 사용자를 위한 R

분산분석(ANOVA)

# bmicat별 diffht의 ANOVA 수행, 결과를 davisaov에 저장
davisaov <- aov(diffht ~ bmicat, data = daviskeep)
# davisaov 요약 출력
summary(davisaov)
             Df Sum Sq Mean Sq F value Pr(>F)
bmicat        2    4.1   2.070   0.475  0.623
Residuals   179  779.9   4.357               
결측으로 17개 관측치가 삭제됨
SAS 사용자를 위한 R

사후(pairwise) 검정

# davisaov에 대해 TukeyHSD 사후 쌍비교 수행
TukeyHSD(davisaov)
  평균의 다중 비교(Tukey)
    95% 가족별 신뢰수준

적합: aov(formula = diffht ~ bmicat, data = daviskeep)

$bmicat
                                diff        lwr      upr     p adj
2. overwt-1. underwt/norm  0.3411990 -0.6211376 1.303536 0.6799698
3. obese-1. underwt/norm  -0.5442177 -3.4213543 2.332919 0.8957761
3. obese-2. overwt        -0.8854167 -3.8641564 2.093323 0.7623194
SAS 사용자를 위한 R

선형회귀 SAS와 R

SAS PROC REG와 R lm 함수

SAS 사용자를 위한 R

SAS PROC REG와 R lm 함수의 모델 구문

SAS 사용자를 위한 R

단순 선형회귀

# bmi에 대한 diffht의 lm() 실행
davislm <- lm(diffht ~ bmi,
              data = daviskeep)
davislm
# davislm의 구성 요소 표시
names(davislm)
Call:
lm(formula = diffht ~ bmi,
   data = daviskeep)

Coefficients:
(Intercept)          bmi  
   -2.60878      0.02404
 [1] "coefficients"  "residuals"    
 [3] "effects"       "rank"         
 [5] "fitted.values" "assign"       
 [7] "qr"            "df.residual"  
 [9] "na.action"     "xlevels"      
[11] "call"          "terms"        
[13] "model"
SAS 사용자를 위한 R

단순 선형회귀

# 계수 요소 표시
davislm$coefficients
(Intercept)         bmi
-2.60877657  0.02403939
# 기울기 계수 2번째 요소 표시
davislm$coefficients[2]
       bmi
0.02403939
SAS 사용자를 위한 R
summary(davislm)
Call:
lm(formula = diffht ~ bmi, data = daviskeep)

Residuals:
    Min      1Q  Median      3Q     Max
-7.8607 -0.9944 -0.0048  1.1271  8.1627

Coefficients:
            Estimate Std. Error t value Pr(>|t|)  
(Intercept) -2.60878    1.15718  -2.254   0.0254 *
bmi          0.02404    0.05130   0.469   0.6399  

유의성 코드:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

잔차 표준오차: 자유도 180에서 2.086
  (결측으로 17개 관측치가 삭제됨)
Multiple R-squared:  0.001218,    Adjusted R-squared:  -0.004331
F-통계량: 0.2196 (DF 1, 180),  p-값: 0.6399
SAS 사용자를 위한 R

선형회귀 모형 요약

# lm 요약 출력 저장 및 요소 이름 확인
smrydavislm <- summary(davislm)
names(smrydavislm)
 [1] "call"          "terms"         "residuals"     "coefficients"
 [5] "aliased"       "sigma"         "df"            "r.squared"    
 [9] "adj.r.squared" "fstatistic"    "cov.unscaled"  "na.action"
SAS 사용자를 위한 R

선형회귀 모형 요약

# smrydavislm에서 r.squared 표시
smrydavislm$r.squared
[1] 0.00121824
# smrydavislm에서 coefficients 표시
smrydavislm$coefficients
               Estimate Std. Error    t value   Pr(>|t|)
(Intercept) -2.60877657 1.15717685 -2.2544320 0.02537425
bmi          0.02403939 0.05130456  0.4685624 0.63994943
SAS 사용자를 위한 R

전복 데이터로 모형을 적합하고 살펴봅시다!

SAS 사용자를 위한 R

Preparing Video For Download...