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
# 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




# 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개 관측치가 삭제됨
# 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


# 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"
# 계수 요소 표시
davislm$coefficients
(Intercept) bmi
-2.60877657 0.02403939
# 기울기 계수 2번째 요소 표시
davislm$coefficients[2]
bmi
0.02403939
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
# 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"
# 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