통계 > 적합성 모델 > 일반화 선형 혼합 모델...
Statistics > Fit models > Generalized linear mixed model...

Linux 사례 (MX21)

'도구 > 패키지 적재하기...' 메뉴 기능을 이용하여 lme4 패키지를 찾아서 적재하자. lme4 패키지에는 일반화 선형 혼합 모델을 만들고 분석하는데 필요한 glmer()와 예제 데이터셋 cbpp가 포함되어 있다.

'데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 통하여 lme4 패키지에 있는 cbpp 데이터셋을 찾아서 선택하자. 그러면 R Commander의 상단에 있는 <활성 데이터셋 없음>이 'cbpp'로 활성화될 것이다.
https://rcmdr.tistory.com/240

cbpp 데이터셋

lme4::cbpp() data(cbpp, package="lme4") '도구 > 패키지 적재하기...' 메뉴 기능을 선택하고 lme4 패키지를 찾아서 선택한다. 그리고 '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...'

rcmdr.kr

require(lme4)
data(cbpp, package="lme4")
Linux 사례 (MX 21)
GLMM.1 <- glmer(incidence / size ~ period + (1 | herd ), family=binomial(logit), data=cbpp, 
  weights=size)
summary(GLMM.1)
exp(coef(GLMM.1))  # Exponentiated coefficients ("odds ratios")

Anova(GLMM.1)  # period 변수의 영향 여부 검정
Linux 사례 (MX 21) - R Markdown
Linux 사례 (MX 21)

?glmer  # lme4 패키지의 glmer() 도움말 보기

'Statistics > Fit models' 카테고리의 다른 글

5. Ordinal regression model...  (0) 2022.06.24
6. Linear mixed model...  (0) 2022.06.23
4. Multinomial logit model...  (0) 2022.03.09
3. Generalized linear model...  (0) 2022.03.09
2. Linear model...  (0) 2022.03.07

lme4::sleepstudy()

require(lme4)
?sleepstudy  # sleepstudy 데이터셋 도움말 보기

아래는 example(sleepstudy) 입니다.

str(sleepstudy)
require(lattice)
xyplot(Reaction ~ Days | Subject, sleepstudy, type = c("g","p","r"),
       index = function(x,y) coef(lm(y ~ x))[1],
       xlab = "Days of sleep deprivation",
       ylab = "Average reaction time (ms)", aspect = "xy")
(fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy))
(fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy))

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

fm1 <- lmer(Reaction ~ Days + (Days|Subject), sleepstudy)
fm2 <- lmer(Reaction ~ Days + (1|Subject) + (0+Days|Subject), sleepstudy)

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

'Dataset_info > sleepstudy' 카테고리의 다른 글

sleepstudy 데이터셋  (0) 2022.06.23

datasets::warpbreaks

?warpbreaks  # warpbreaks 도움말 보기

# 아래는 example(warpbreaks) 입니다.

require(stats); require(graphics)
summary(warpbreaks)
opar <- par(mfrow = c(1, 2), oma = c(0, 0, 1.1, 0))
plot(breaks ~ tension, data = warpbreaks, col = "lightgray",
     varwidth = TRUE, subset = wool == "A", main = "Wool A")
plot(breaks ~ tension, data = warpbreaks, col = "lightgray",
     varwidth = TRUE, subset = wool == "B", main = "Wool B")
mtext("warpbreaks data", side = 3, outer = TRUE)
par(opar)
summary(fm1 <- lm(breaks ~ wool*tension, data = warpbreaks))
anova(fm1)

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

'Dataset_info > warpbreaks' 카테고리의 다른 글

warpbreaks 데이터셋  (0) 2022.03.20

통계 > 적합성 모델 > 서열(Ordinal) 회귀 모델...
Statistics > Fit models > Ordinal regression model...

Linux 사례 (MX 21)

MASS 패키지에 있는 housing 데이터셋을 활용해보자. 먼저 housing 데이터셋을 활성화 시킨다. https://rcmdr.tistory.com/215

housing 데이터셋

MASS::housing library(MASS, pos=16) data(housing, package="MASS") '도구 > 패키지 적재하기...' 메뉴 기능을 선택하고, MASS 패키지를 찾아서 선택한다. 그리고나서, '데이터 > 패키지에 있는 데이터 > 첨부된..

rcmdr.kr

Sat는 거주자의 현 거주환경에 대한 만족도에 관한 변수로서, High > Medium > Low 라는 서열화된 요인을 갖고 있다. Sat를 반응변수로, 나머지를 설명변수의 후보군으로 모델을 구성하는 것이다. Freq 변수는 Sat, Infl, Type, Cont 등으로 구별되는 집단 구성원의 숫자를 뜻한다. 아래와 같이 모형을 만든다.

OrdRegModel.1 <- polr(Sat ~ Infl + Type + Cont , weights = Freq, method="logistic", 
  data=housing, Hess=TRUE)
summary(OrdRegModel.1)
Linux 사례 (MX 21)
Linux 사례 (MX 21)

OrdRegModel.1 이라는 모형이 만들어졌다면, '모델 > 가설 검정 > 분산분석표...' 메뉴 기능을 이용할 수 있다.

Linux 사례 (MX 21)

'Statistics > Fit models' 카테고리의 다른 글

7. Generalized linear mixed model...  (0) 2022.07.01
6. Linear mixed model...  (0) 2022.06.23
4. Multinomial logit model...  (0) 2022.03.09
3. Generalized linear model...  (0) 2022.03.09
2. Linear model...  (0) 2022.03.07

bwt.RData
0.00MB

MASS 패키지에는 birthwt라는 데이터셋이 포함되어 있다. birthwt 데이터셋을 활용하여 bwt라는 2차 데이터셋이 만들어진다. 

bwt <- with(birthwt, {
race <- factor(race, labels = c("white", "black", "other"))
ptd <- factor(ptl > 0)
ftv <- factor(ftv)
levels(ftv)[-(1:2)] <- "2+"
data.frame(low = factor(low), age, lwt, race, smoke = (smoke > 0),
           ptd, ht = (ht > 0), ui = (ui > 0), ftv)
})


bwt <- with(birthwt, {
race <- factor(race, labels = c("white", "black", "other"))
ptd <- factor(ptl > 0)
ftv <- factor(ftv)
levels(ftv)[-(1:2)] <- "2+"
data.frame(low = factor(low), age, lwt, race, smoke = (smoke > 0),
           ptd, ht = (ht > 0), ui = (ui > 0), ftv)
})

bwt 데이터셋은 분석 모형을 만드는데 간혹 예제로 사용되는데, birthwt에서 bwt가 만들어지는 과정이 R Commander 기본 사용자에게는 다소 어렵게 느껴질수 있겠다는 판단이다. 데이터셋 자체에 대한 이해의 어려움 때문에 분석 모형의 구성과 해석으로 나아가지 못하는 경우가 있어, bwt 데이터셋 설명을 하고자 한다.

 

bwt 데이터셋은 저체중아 출생의 원인을 찾고자 하는 문제의식을 담고 있다. low 변수는 출생당시 몸무게가 2.5kg 미만 여부를 담고 있으며, 반응변수가 된다. 나머지 변수들은 저체중아 출산에 영향을 끼치는가 여부인 설명변수들의 후보군이 되겠다.

Linux 사례 (MX 21)

options(contrasts = c("contr.treatment", "contr.poly"))
GLM.1 <- glm(low ~ ., binomial, bwt)

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

'Dataset_info > birthwt' 카테고리의 다른 글

birthwt 데이터셋  (0) 2022.03.09

통계 > 적합성 모델 > 선형 혼합 모델...
Statistics > Fit models > Linear mixed model...

Linux 사례 (MX 21)

데이터셋을 활성화시키면, '통계 > 적합성 모델 > 선형 혼합 모델...' 메뉴 기능을 사용할 수 있다. lme4 패키지의 sleepstudy 데이터셋을 이용하여 연습해보자.

sleepstudy 데이터셋을 활성화 시키자. 먼저 lme4 패키지를 호출해야 한다. 그래야 포함된 데이터셋 목록을 확인할 수 있기 때문이다. '도구 > 패키지 적재하기...' 메뉴 기능을 통하여 lme4를 적재한다. 그리고 '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택하고, 다음 화면에서 lme4 패키지에 포함된 데이터셋들 중에서 sleepstudy를 찾아서 선택한다. 그러면, R Commander 상단의 <활성 데이터셋 없음> 버튼이 'sleepstudy'로 바뀐다.

https://rcmdr.tistory.com/212

sleepstudy 데이터셋

lme4::sleepstudy data(sleepstudy, package="lme4") '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택하면 하위 선택 창으로 이동한다. 아래와 같이 lme4 패키지를 선택..

rcmdr.kr


sleepstudy 데이터셋을 이용하여 LMM.1 모형을 만든다. '통계 > 적합성 모델 > 선형 혼합 모델...' 메뉴 기능을 이용할 수 있다.

LMM.1 <- lmer(Reaction ~ Days + (Days | Subject), data=sleepstudy, REML=TRUE)
Linux 사례 (MX 21)
Linux 사례 (MX 21)

REML(Restricted maximum likelihood, 제한적 최대우도) 대신 ML(Maximum likelihood, 최대우도) 인자를 사용해보자.

LMM.2 <- lmer(Reaction ~ Days + (Days | Subject), data=sleepstudy, REML=FALSE)
Linux 사례 (MX 21)
Linux 사례 (MX 21)


?lmer   # lmer 함수 도움말 보기

선형 혼합 모형(Linear mixed model)을 만들었다면, '모델 > 가설 검정 > 분산분석표...' 메뉴 기능을 이용할 수 있다. LMM.1을 만들었으니 가능하다.

Anova(LMM.1, type="II")
Linux 사례 (MX 21)
Linux 사례 (MX 21)

'Statistics > Fit models' 카테고리의 다른 글

7. Generalized linear mixed model...  (0) 2022.07.01
5. Ordinal regression model...  (0) 2022.06.24
4. Multinomial logit model...  (0) 2022.03.09
3. Generalized linear model...  (0) 2022.03.09
2. Linear model...  (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 > Fit models > Multinomial logit model...

Linux 사례 (MX 21)

MASS 패키지에 있는 birthwt 데이터셋을 활용해보자. 먼저 birthwt 데이터셋을 활성화 시킨다. https://rcmdr.kr/149

birthwt 데이터셋

MASS > birthwt data(birthwt, package="MASS") birthwt 데이터셋이 활성화된 후, <데이터셋 보기> 버튼을 누르면 아래와 같이 내부 구성을 볼 수 있다: help("birthwt")

rcmdr.kr

이후 일부 변수의 특징을 변화시켜 bwt라는 새로운 데이터셋을 만들자.아래의 <일반화 선형 모델> 연습 중간에 bwt를 만드는 스크립트가 있다. https://rcmdr.tistory.com/150

3. Generalized linear model...

통계 > 적합성 모델 > 일반화 선형 모델... Statistics > Fit models > Generalized linear model... MASS 패키지에 있는 birthwt 데이터셋을 활용하자. https://rcmdr.tistory.com/149 birthwt data(birthwt, pa..

rcmdr.kr

아래 화면은 bwt 데이터셋을 활용한 사례이다. low 변수를 반응변수로, 다른 나머지 변수를 설명변수군에 모두 포함시키자.

Linux 사례 (Mx 21)
MLM.1 <- multinom(low ~ ., data=bwt, trace=FALSE)
summary(MLM.1, cor=FALSE, Wald=TRUE)
Linux 사례 (MX 21)

MLM.1 이라는 모형이 만들어졌다면, '모델 > 가설 검정 > 분산분석표...' 메뉴 기능을 이용할 수 있다.

Linux 사례 (MX 21)

'Statistics > Fit models' 카테고리의 다른 글

5. Ordinal regression model...  (0) 2022.06.24
6. Linear mixed model...  (0) 2022.06.23
3. Generalized linear model...  (0) 2022.03.09
2. Linear model...  (0) 2022.03.07
1. Linear regression...  (0) 2022.03.07

모델 > 가설 검정 > 분산분석표...

Models > Hypothesis tests > ANOVA table...

Linux 사례 (MX 21)

Statistics > Fit models > Linear model... (통계 > 적합성 모델 > 선형 모델...) 기능을 통하여 LinearModel.1라는 모델을 만들었다고 하자. 위의 화면 상단에 <모델: LinearModel.1>이라고 보일 것이다. 

https://rcmdr.tistory.com/131

 

2. Linear model...

통계 > 적합성 모델 > 선형 모델... Statistics > Fit models > Linear model... 아래와 같은 <선형 모델> 선택 창에서 변수들을 선택할 수 있다. <통계 : 적합성 모델 : 선형 회귀...> 기능의 <선형 회귀...>창..

rcmdr.kr

 

Models > Hypothesis tests > ANOVA table... (모델 > 가설 검정 > 분산분산표...) 기능은 앞선 모델 만들기 작업 위에서 후속적으로 가능함을 명심하자.

Linux 사례 (MX 21)

Anova(LinearModel.1, type="II")

Linux 사례 (MX 21)

'Models > Hypothesis test' 카테고리의 다른 글

2. Compare two models...  (0) 2022.06.11

+ Recent posts