Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 후한서
- 유주
- 선형회귀분석
- linear regression
- 기자
- spss
- post hoc test
- ANOVA
- 기자조선
- 패수
- 지리지
- 히스토그램
- 단군
- Histogram
- repeated measures ANOVA
- 통계학
- 통계
- 창평
- 한서지리지
- 낙랑군
- 한서
- 태그를 입력해 주세요.
- categorical variable
- 풍백
- 우분투
- 신라
- 독사방여기요
- R
- 고구려
- t test
Archives
- Today
- Total
獨斷論
SAS 분산분석 ANOVA - 1 본문
1. 데이터
고혈압 환자들에게 3가지 처치를 하였을때 혈압을 측정하였다.
- treat1에서는 약을 3가지 종류로 주었고(Drug I, J, K)
- treat2에서는 biofeedback를 사용하였으며(Present, Absent)
- treat3에서는 diet에 변화를 주었다(Yes, No)
3 x 2 x 2 ANOVA가 된다.
측정된 데이터의 형태는 위와 같은데 이를 통계분석을 위하여 각 변수를 열로 놓고 observations를 행으로 놓아 변형하면 아래 데이터파일과 같다.
위 파일의 데이터를 아래와 같이 SAS에서 불러들인다. cell이라는 새로운 변수를 만들어 factor변수를 한데 합치었다. ||는 concatenation 명령이다.
data hyperdat;
infile "d:\tmp\hyper.csv" delimiter = "," firstobs = 2;
input biofeed $ drug $ diet $ bp;
cell = drug||biofeed||diet;
run;
불러들인 데이터를 평균 표준편차 등을 각 factor별로 살펴보면
proc tabulate data=hyperdat;
class drug biofeed diet;
var bp;
table drug*biofeed*diet, bp*(mean std n);
run;
table 명령어에서 표의 행과 열을 나눌때 쉼표( , )를 사용한다.
2. Levene's Test
proc anova의 means statement에 hovtest option을 수행한다.
proc anova data=hyperdat;
class cell;
model bp = cell;
means cell / hovtest;
run;
각 그룹별로 분산이 다르다고 할만한 충분한 증거가 있지 못하다.
3. ANOVA
각 그룹마다 observation수가 같다면 proc anova를 이용할수 있지만 같지 않다면 proc glm을 이용하여야만 한다.
proc anova data = hyperdat;
class diet drug biofeed;
model bp = diet|drug|biofeed;
* model bp = diet drug biofeed diet*drug diet*biofeed drug*biofeed diet*drug*biofeed;
means diet*drug*biofeed;
run;
proc print data=outmeans;
proc sort data=outmeans;
by drug;
run;
proc gplot data=outmeans;
plot mean_bp*biofeed=diet ;
by drug;
run;
quit;
bp = diet drug biofeed diet*drug diet*biofeed drug*biofeed diet*drug*biofeed과 같이 입력해도 되지만 간략하게 model bp = diet|drug|biofeed라고 해도 된다.
Comments