통계 > 평균 > 이-요인 반복-측정 ANOVA/ANCOVA...

Statistics > Means > Two-factor repeated-measures ANOVA/ANCOVa...

Linux 사례 (MX 21)

데이터셋을 활성화시켰다면, '통계 > 평균 > 일-요인 반복-측정 ANOVA/ANCOVA' 메뉴 기능을 사용할 수 있다. carData 패키지의  OBrienKaiser 데이터셋을 이용하여 연습해보자.

 

먼저, OBrienKaiser 데이터셋을 활성화 시키자. '데이터 > 패키지에 있는 데이터 >

첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택하고, 다음 화면에서 carData 패키지에 포함된 데이터셋들 중에서 OBrienKasier를 찾아서 선택한다. 그러면, R Commander 상단의 <활성 데이터셋 없음> 버튼이 'OBrienKasier'로 바뀐다.

https://rcmdr.tistory.com/95

 

OBrienKaiser 데이터셋

carData 패키지에 있는 OBrienKaiser 데이터셋이다. carData 패키지는 Rcmdr 패키지가 호출될 때 자동으로 함께 호출되기 때문에 R Commander에서 carData 패키지에 포함된 데이터셋들을 자유롭게 호출할 수 있

rcmdr.kr

'통계 > 평균 > 이-요인 반복-측정 ANOVA/ANCOVA' 메뉴 기능을 선택하자. 아래와 같은 화면이 등장한다.

Linux 사례 (MX 21)

메뉴 창의 세부 항목을 아래와 같이 설정한다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)

Anova(lm(cbind(pre.1, post.1, fup.1, pre.2, post.2, fup.2, pre.3, post.3, fup.3, pre.4, post.4, fup.4, 
  pre.5, post.5, fup.5) ~ gender*treatment, data=OBrienKaiser), idata=data.frame(Phase = 
  factor(rep(c('Pretest', 'Posttest', 'Followup'),5)), Hour = factor(rep(c('1', '2', '3', '4', '5'), 
  each=3))), idesign = ~Phase*Hour, test.statistic="Pillai")
  
repeatedMeasuresPlot(OBrienKaiser, within=c("pre.1", "post.1", "fup.1", "pre.2", "post.2", "fup.2", 
  "pre.3", "post.3", "fup.3", "pre.4", "post.4", "fup.4", "pre.5", "post.5", "fup.5"), 
  within.names=c("Phase", "Hour"), within.levels=list(Phase=c("Pretest", "Posttest", "Followup"), 
  Hour=c("1", "2", "3", "4", "5")), print.tables=FALSE, plot.means=TRUE, between.names=c("gender", 
  "treatment"), response.name="score")

Linux 사례 (MX 21)
Linux 사례 (MX 21)


?RepeatedMeasuresDialogs  # RcmdrMisc 패키지의 RepeatedMeasuresDialogs 도움말 보기

?repeatedMeasuresPlot  # RcmdrMisc 패키지의 repeatedMeasuresPlot 도움말 보기

'Statistics > Means' 카테고리의 다른 글

6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
5. Multi-way ANOVA...  (0) 2022.03.13
4. One-way ANOVA...  (0) 2022.03.07
3. Paired t-test...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07

통계 > 평균 > 일-요인 반복-측정 ANOVA/ANCOVA...

Statistics > Means > One-factor repeated-measures ANOVA/ANCOVA...

Linux 사례 (MX 21)

데이터셋을 활성화시켰다면, '통계 > 평균 > 일-요인 반복-측정 ANOVA/ANCOVA' 메뉴 기능을 사용할 수 있다. carData 패키지의  OBrienKaiser 데이터셋을 이용하여 연습해보자.

 

먼저, OBrienKaiser 데이터셋을 활성화 시키자. '데이터 > 패키지에 있는 데이터 >

첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택하고, 다음 화면에서 carData 패키지에 포함된 데이터셋들 중에서 OBrienKasier를 찾아서 선택한다. 그러면, R Commander 상단의 <활성 데이터셋 없음> 버튼이 'OBrienKasier'로 바뀐다.

https://rcmdr.tistory.com/95

 

OBrienKaiser 데이터셋

carData 패키지에 있는 OBrienKaiser 데이터셋이다. carData 패키지는 Rcmdr 패키지가 호출될 때 자동으로 함께 호출되기 때문에 R Commander에서 carData 패키지에 포함된 데이터셋들을 자유롭게 호출할 수 있

rcmdr.kr

'통계 > 평균 > 일-요인 반복-측정 ANOVA/ANCOVA' 메뉴 기능을 선택하자. 아래와 같은 화면이 등장한다.

Linux 사례 (MX 21)

메뉴 창의 세부 항목을 아래와 같이 설정한다.

Linux 사례 (MX 21)

data(OBrienKaiser, package="carData")
Anova(lm(cbind(pre.1, post.1, fup.1) ~ gender *treatment, data=OBrienKaiser), 
  idata=data.frame(Phase=factor(c('pretest', 'posttest', 'followup'))), idesign = ~Phase, 
  test.statistic="Pillai")

Linux 사례 (MX 21)


'선택기능' 메뉴 창의 중간에 있는 '반복-측정 평균들'에서 '요인 반응 평균 그리기를 선택하자. 그래픽 창이 등장하며 세개의 단계 'pretest-posttest-followup'의 각 1 level에 해당하는 평균 값 그래프를 생산한다.

Linux 사례(MX 21)
Linux사례 (MX 21)

repeatedMeasuresPlot(OBrienKaiser, within=c("pre.1", "post.1", "fup.1"), within.names="Phase", 
  within.levels=list(Phase=c("pretest", "posttest", "followup")), print.tables=FALSE, plot.means=TRUE, 
  response.name="score")

만약 '개인간 요인 (없거나 하나 이상 선택)'에서 gender 와 treatment 두개를 모두 선택하고 그래프를 출력하면 아래와 같이 gender와 treatment변로 평균 그림이 생산된다.

'Statistics > Means' 카테고리의 다른 글

7. Two-factor repeated-measures ANOVA/ANCOVA  (0) 2022.06.30
5. Multi-way ANOVA...  (0) 2022.03.13
4. One-way ANOVA...  (0) 2022.03.07
3. Paired t-test...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07

통계 > 평균 > 다원 분산 분석...
Statistics > Means > Multi-way ANOVA...

Linux 사례 (MX 21)

다중 분산 분석 (Multi-way ANOVA)은 두개 이상의 요인형 변수들의 작용으로 하나의 수치형 변수에 영향을 주었는가를 점검하는 통계기법이다.

Linux 사례 (MX 21)

data(Adler, package="carData")
help("Adler", package="carData")
AnovaModel.1 <- lm(rating ~ expectation*instruction, data=Adler, contrasts=list(expectation 
  ="contr.Sum", instruction ="contr.Sum"))
Anova(AnovaModel.1)
Tapply(rating ~ expectation + instruction, mean, na.action=na.omit, data=Adler) # means
Tapply(rating ~ expectation + instruction, sd, na.action=na.omit, data=Adler) # std. deviations
xtabs(~ expectation + instruction, data=Adler) # counts

Linux 사례 (MX 21)


?Anova  # car패키지의 Anova 도움말 보기

## Two-Way Anova

mod <- lm(conformity ~ fcategory*partner.status, data=Moore,
  contrasts=list(fcategory=contr.sum, partner.status=contr.sum))
Anova(mod)
Anova(mod, type=3)  # note use of contr.sum in call to lm()

## One-Way MANOVA
## See ?Pottery for a description of the data set used in this example.

summary(Anova(lm(cbind(Al, Fe, Mg, Ca, Na) ~ Site, data=Pottery)))

## MANOVA for a randomized block design (example courtesy of Michael Friendly:
##  See ?Soils for description of the data set)

soils.mod <- lm(cbind(pH,N,Dens,P,Ca,Mg,K,Na,Conduc) ~ Block + Contour*Depth,
    data=Soils)
Manova(soils.mod)
summary(Anova(soils.mod), univariate=TRUE, multivariate=FALSE,
    p.adjust.method=TRUE)

## a multivariate linear model for repeated-measures data
## See ?OBrienKaiser for a description of the data set used in this example.

phase <- factor(rep(c("pretest", "posttest", "followup"), c(5, 5, 5)),
    levels=c("pretest", "posttest", "followup"))
hour <- ordered(rep(1:5, 3))
idata <- data.frame(phase, hour)
idata

mod.ok <- lm(cbind(pre.1, pre.2, pre.3, pre.4, pre.5,
                     post.1, post.2, post.3, post.4, post.5,
                     fup.1, fup.2, fup.3, fup.4, fup.5) ~  treatment*gender,
                data=OBrienKaiser)
(av.ok <- Anova(mod.ok, idata=idata, idesign=~phase*hour))

summary(av.ok, multivariate=FALSE)

## A "doubly multivariate" design with two  distinct repeated-measures variables
## (example courtesy of Michael Friendly)
## See ?WeightLoss for a description of the dataset.

imatrix <- matrix(c(
	1,0,-1, 1, 0, 0,
	1,0, 0,-2, 0, 0,
	1,0, 1, 1, 0, 0,
	0,1, 0, 0,-1, 1,
	0,1, 0, 0, 0,-2,
	0,1, 0, 0, 1, 1), 6, 6, byrow=TRUE)
colnames(imatrix) <- c("WL", "SE", "WL.L", "WL.Q", "SE.L", "SE.Q")
rownames(imatrix) <- colnames(WeightLoss)[-1]
(imatrix <- list(measure=imatrix[,1:2], month=imatrix[,3:6]))
contrasts(WeightLoss$group) <- matrix(c(-2,1,1, 0,-1,1), ncol=2)
(wl.mod<-lm(cbind(wl1, wl2, wl3, se1, se2, se3)~group, data=WeightLoss))
Anova(wl.mod, imatrix=imatrix, test="Roy")

## mixed-effects models examples:

## Not run: 
	library(nlme)
	example(lme)
	Anova(fm2)

## End(Not run)

## Not run: 
	library(lme4)
	example(glmer)
	Anova(gm1)

## End(Not run)

'Statistics > Means' 카테고리의 다른 글

7. Two-factor repeated-measures ANOVA/ANCOVA  (0) 2022.06.30
6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
4. One-way ANOVA...  (0) 2022.03.07
3. Paired t-test...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07

통계 > 평균 > 일원 분산 분석...

Statistics > Means > One-way ANOVA...

Linux 사례 (MX 21)

datasets 패키지에 있는 sleep 데이터셋을 활용해보자.

https://rcmdr.tistory.com/132

 

sleep

Datasets > sleep data(sleep, package="datasets") summary(sleep) str(sleep) 데이터셋의 내부는 다음과 같다:

rcmdr.kr

<집단 (하나 선택)>에 요인형 변수 group을, <반응 변수 (하나 선택)>에 수치형 변수 extra를 선택한다. 통계 > 분산 > 이-분산 F-검정을 통하여 비교되는 두 집단의 extra 변수의 사례 분포는 등분산임을 알고 있는 상황이다.

https://rcmdr.tistory.com/136

 

1. Two variances F-test...

통계 > 분산 > 이-분산 F-검정... Statistics > Variances > Two variances F-test... datasets 패키지에 포함된 sleep 데이터셋을 활용해보자. https://rcmdr.tistory.com/132 sleep data(sleep, package="datas..

rcmdr.kr

Linux 사례 (MX 21)

AnovaModel.1 <- aov(extra ~ group, data=sleep)
summary(AnovaModel.1)
with(sleep, numSummary(extra, groups=group, statistics=c("mean", "sd")))

일원 분산 분석의 명령문 작성과 분석 결과는 아래와 같다.

Linux 사례 (MX 21)

추가로  carData 패키지의 Prestige 데이터셋을 이용하여 일원 분산 분석을 연습해보자. Prestige 데이터셋에는 type 이라는 요인형 변수가 있다. 그러나 앞서 연습한 sleep 데이터셋의 group 변수처럼 요인 수준이 두개가 아니라 요인의 수준이 셋이다. 직업의 사회적 권위에 대한 직업 유형별 (bc, prof, wc) 평균의 차이가 있는가를 점검한다.

Linux 사례 (MX 21)

AnovaModel.3 <- aov(prestige ~ type, data=Prestige)
summary(AnovaModel.3)
with(Prestige, numSummary(prestige, groups=type, statistics=c("mean", "sd")))

직업유형 (bc, prof, wc)에 따른 직업의 사회적 권위는, 각 유형별 평균을 비교할 때, 차이가 있다는 결과를 얻는다.

Linux 사례 (MX 21)


?anova  # stats 패키지의 anova 도움말 보기

'Statistics > Means' 카테고리의 다른 글

6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
5. Multi-way ANOVA...  (0) 2022.03.13
3. Paired t-test...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07
1. Single-sample t-test...  (0) 2022.03.07

통계 > 평균 > Paired t-검정...

Statistics > Means > Paired t-test...

Linux 사례 (MX 21)

datasets 패키지에 포함된 sleep 데이터셋에는 extra라는 수치형 변수가 포함되어 있다. 수치형 변수가 하나만 있는 경우는 Paired t-검정을 사용할 수 없다. 10명이 각각 2개의 약을 복용한 후 group1, group2라는 집단 안에서 수면 시간의 변화를 측정한 데이터셋이다. reshape(), reshapeL2W() 등의 함수를 사용하여 extra라는 수치형 변수를 group1 , group2 별로 두개의 수치형 변수로 변환시켜야 한다. 변환이 되면 <Statistics : Means : Paired t-test> 기능이 활성화된다.

Linux 사례 (MX 21)

https://rcmdr.tistory.com/71

 

13. Reshape data set from long to wide format...

데이터 > 활성 데이터셋 > 긴 형식에서 넓은 형식으로 데이터셋 모양바꾸기... Data > Active data set > Reshape data set from long to wide format... 간혹, ID를 갖는 주체(subject, 주로 사람 또는 집단의..

rcmdr.kr

extra 변수를 두개의 집단 X1, X2 로 이미 나눈 상황이다. X1과 X2를 각각 <첫째 변수>와 <둘째 변수>에 선택하자.

Linux 사례 (MX 21)

<선택기능>창 추가 선택 사항들이 있다. 기본 선택을 이용하자.

Linux 사례 (MX 21)

> with(sleepWide, (t.test(X1, X2, alternative='two.sided', conf.level=.95, paired=TRUE)))

아래의 함수 사용과 같은 결과를 얻는다.

t.test(Pair(X1, X2) ~ 1, data = sleepWide)

Linux 사례 (MX 21)


?t.test  # stats 패키지의 t.test 도움말 보기

require(graphics)

t.test(1:10, y = c(7:20))      # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245    -- NOT significant anymore

## Classical example: Student's sleep data
plot(extra ~ group, data = sleep)
## Traditional interface
with(sleep, t.test(extra[group == 1], extra[group == 2]))

## Formula interface
t.test(extra ~ group, data = sleep)

## Formula interface to one-sample test
t.test(extra ~ 1, data = sleep)

## Formula interface to paired test
## The sleep data are actually paired, so could have been in wide format:
sleep2 <- reshape(sleep, direction = "wide", 
                  idvar = "ID", timevar = "group")
t.test(Pair(extra.1, extra.2) ~ 1, data = sleep2)

'Statistics > Means' 카테고리의 다른 글

6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
5. Multi-way ANOVA...  (0) 2022.03.13
4. One-way ANOVA...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07
1. Single-sample t-test...  (0) 2022.03.07

통계 > 평균 > 독립 표본 t-검정...

Statistics > Means > Independent samples t-test...

Linux 사례 (MX 21)

datasets 패키지에 있는 sleep 데이터셋을 활용해보자. 활성화시키자.

https://rcmdr.tistory.com/132

 

sleep

Datasets > sleep data(sleep, package="datasets") summary(sleep) str(sleep) 데이터셋의 내부는 다음과 같다:

rcmdr.kr

sleep 데이터셋의 수치형 변수 extra에 대하여 2개의 수준을 가진 요인형 집단인 group 변수의 t-검정을 한다.

Linux 사례 (MX 21)

<선택기능> 창에는 1그룹과 2그룹의 차이를 비교하는 <대립 가설>, <신뢰 수준>, <등분산> 의 선택 사항이 있다. 일단 기본 선택 들을 사용하자.

Linux 사례 (MX 21)

t.test(extra~group, alternative='two.sided', conf.level=.95, var.equal=FALSE, data=sleep)

alternative 이하의 선택 사항들은 기본 설정을 사용하였기에 다음과 같은 결과를 갖는다.

t.test(extra ~ group, data = sleep)

 

Linux 사례 (MX 21)

참고로 group1 과 group2의 사례들을 상자그림(boxplot)을 이용하여 비교해보자.

Linujx 사례 (MX 21)

한편, 비교하는 두 집단의 분산의 차이가 없다는 것을 먼저 확인한 경우에 진행하는 t-검정도 있을 수 있다. 통계 > 분산 > 이-분산 F-검정의 결과를 바탕으로 독립-표본 t-검정을 진행하는 사례이다.

https://rcmdr.tistory.com/136

 

1. Two variances F-test...

통계 > 분산 > 이-분산 F-검정... Statistics > Variances > Two variances F-test... datasets 패키지에 포함된 sleep 데이터셋을 활용해보자. https://rcmdr.tistory.com/132 sleep data(sleep, package="datas..

rcmdr.kr

<선택기능> 창에서 <등분산을 가정합니까?>에 '예'를 선택한다.

Linux 사례(MX 21)

t.test(extra~group, alternative='two.sided', 
	conf.level=.95, var.equal=TRUE, data=sleep)

Linux 사례 (MX 21)


?t.test  # stats 패키지의 t.test 도움말 보기

require(graphics)

t.test(1:10, y = c(7:20))      # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245    -- NOT significant anymore

## Classical example: Student's sleep data
plot(extra ~ group, data = sleep)
## Traditional interface
with(sleep, t.test(extra[group == 1], extra[group == 2]))

## Formula interface
t.test(extra ~ group, data = sleep)

## Formula interface to one-sample test
t.test(extra ~ 1, data = sleep)

## Formula interface to paired test
## The sleep data are actually paired, so could have been in wide format:
sleep2 <- reshape(sleep, direction = "wide", 
                  idvar = "ID", timevar = "group")
t.test(Pair(extra.1, extra.2) ~ 1, data = sleep2)

'Statistics > Means' 카테고리의 다른 글

6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
5. Multi-way ANOVA...  (0) 2022.03.13
4. One-way ANOVA...  (0) 2022.03.07
3. Paired t-test...  (0) 2022.03.07
1. Single-sample t-test...  (0) 2022.03.07

통계 > 평균 > 일-표본 t-검정...

Statistics > Means > Single-sample t-test...

Linux 사례 (MX 21)

datasets 패키지에 있는 sleep 데이터셋을 활용해보자.

https://rcmdr.tistory.com/132

 

sleep

Datasets > sleep data(sleep, package="datasets") summary(sleep) str(sleep) 데이터셋의 내부는 다음과 같다:

rcmdr.kr

<일-표본 t-검정...> 기능을 선택하면, 아래와 같은 선택 창으로 넘어간다.

sleep 데이터셋에서 일-표본 t-검정으로 점검할 수 있는 변수는 extra 하나가 보인다. 예(OK) 버튼을 누르자.

Linux 사례 (MX 21)

with(sleep, (t.test(extra, alternative='two.sided', mu=0.0, conf.level=.95)))

<대립 가설>에 관련된 선택사항에 변화를 주지 않았다. 아래 명령문과 같은 결과를 얻는다.

t.test(extra ~ 1, data = sleep)

Linux 사례 (MX 21)


?t.test  # stats 패키지의 t.test 도움말 보기

require(graphics)

t.test(1:10, y = c(7:20))      # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245    -- NOT significant anymore

## Classical example: Student's sleep data
plot(extra ~ group, data = sleep)
## Traditional interface
with(sleep, t.test(extra[group == 1], extra[group == 2]))

## Formula interface
t.test(extra ~ group, data = sleep)

## Formula interface to one-sample test
t.test(extra ~ 1, data = sleep)

## Formula interface to paired test
## The sleep data are actually paired, so could have been in wide format:
sleep2 <- reshape(sleep, direction = "wide", 
                  idvar = "ID", timevar = "group")
t.test(Pair(extra.1, extra.2) ~ 1, data = sleep2)

'Statistics > Means' 카테고리의 다른 글

6. One-factor repeated-measures ANOVA/ANCOVA...  (0) 2022.06.23
5. Multi-way ANOVA...  (0) 2022.03.13
4. One-way ANOVA...  (0) 2022.03.07
3. Paired t-test...  (0) 2022.03.07
2. Independent samples t-test...  (0) 2022.03.07

+ Recent posts