통계 > 적합성 모델 > 일반화 선형 혼합 모델...
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

통계 > 비율 > 이-표본 비율 검정...

Statistics > Proportions > Two-sample proportions test...

Linux 사례 (MX 21)

 

 

요인형 변수를 두개 이상 가지고 있는 데이터셋이 활성화되어 있다면, '통계 > 비율 > 이-표본 비율 검정..' 메뉴 기능을 이용할 수 있다. carData 패키지에 있는 Chile 데이터셋을 활용해서 연습해보자. 먼저, '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 통하여 Chile 데이터셋을 활성화시키자. R Commander 상단에 'Chile'라는 데이터셋이 활성화되었는지 확인하자.

 

https://rcmdr.tistory.com/239

 

Chile 데이터셋

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

rcmdr.kr

요인형 변수 vote를 변형시켜 vote.f 변수를 새롭게 코딩하고 사용하도록 하자.

data(Chile, package="carData")
Chile <- within(Chile, {
  vote.f <- Recode(vote, '"Y" = "yes"; "N" = "no"; else = NA', as.factor=TRUE)
})

Linux 사례 (MX 21)

'선택기능' 메뉴 창에서 추천하는 기본설정을 그대로 사용하자.

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


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

https://rcmdr.tistory.com/53

 

1. Recode variables...

데이터 > 활성 데이터셋의 변수 관리하기 > 변수를 다시 코딩하기... Data > Manage variables in active data set > Recode variables... 기존 변수를 이용하여 새로운 변수를 만들 수 있다. R Commander에서 이..

rcmdr.kr

 

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

1. Single-sample proportion test...  (0) 2022.03.12

통계 > 평균 > 이-요인 반복-측정 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

통계 > 분할표 > 다원표...

Statistics > Contingency tables >  Multi-way tables...

Linux 사례 (MX 21)

3개 이상의 요인형 변수를 포함하는 데이터셋이 활성화되면, '통계 > 분할표 > 다원표...' 메뉴 기능을 이용할 수 있다. 아래 메뉴 창에서 '통제 변수 (하나 이상 선택)'을 점검할 필요가 있다. 이원표를 만드는 기준 범주가 된다.

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


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

## 'esoph' has the frequencies of cases and controls for all levels of
## the variables 'agegp', 'alcgp', and 'tobgp'.
xtabs(cbind(ncases, ncontrols) ~ ., data = esoph)
## Output is not really helpful ... flat tables are better:
ftable(xtabs(cbind(ncases, ncontrols) ~ ., data = esoph))
## In particular if we have fewer factors ...
ftable(xtabs(cbind(ncases, ncontrols) ~ agegp, data = esoph))

## This is already a contingency table in array form.
DF <- as.data.frame(UCBAdmissions)
## Now 'DF' is a data frame with a grid of the factors and the counts
## in variable 'Freq'.
DF
## Nice for taking margins ...
xtabs(Freq ~ Gender + Admit, DF)
## And for testing independence ...
summary(xtabs(Freq ~ ., DF))

## with NA's
DN <- DF; DN[cbind(6:9, c(1:2,4,1))] <- NA
DN # 'Freq' is missing only for (Rejected, Female, B)
tools::assertError(# 'na.fail' should fail :
     xtabs(Freq ~ Gender + Admit, DN, na.action=na.fail), verbose=TRUE)
op <- options(na.action = "na.omit") # the "factory" default
(xtabs(Freq ~ Gender + Admit, DN) -> xtD)
noC <- function(O) `attr<-`(O, "call", NULL)
ident_noC <- function(x,y) identical(noC(x), noC(y))
stopifnot(exprs = {
  ident_noC(xtD, xtabs(Freq ~ Gender + Admit, DN, na.action = na.omit))
  ident_noC(xtD, xtabs(Freq ~ Gender + Admit, DN, na.action = NULL))
})

xtabs(Freq ~ Gender + Admit, DN, na.action = na.pass)
## The Female:Rejected combination has NA 'Freq' (and NA prints 'invisibly' as "")
(xtNA <- xtabs(Freq ~ Gender + Admit, DN, addNA = TRUE)) # ==> count NAs
## show NA's better via  na.print = ".." :
print(xtNA, na.print= "NA")


## Create a nice display for the warp break data.
warpbreaks$replicate <- rep_len(1:9, 54)
ftable(xtabs(breaks ~ wool + tension + replicate, data = warpbreaks))

### ---- Sparse Examples ----

if(require("Matrix")) withAutoprint({
 ## similar to "nlme"s  'ergoStool' :
 d.ergo <- data.frame(Type = paste0("T", rep(1:4, 9*4)),
                      Subj = gl(9, 4, 36*4))
 xtabs(~ Type + Subj, data = d.ergo) # 4 replicates each
 set.seed(15) # a subset of cases:
 xtabs(~ Type + Subj, data = d.ergo[sample(36, 10), ], sparse = TRUE)

 ## Hypothetical two-level setup:
 inner <- factor(sample(letters[1:25], 100, replace = TRUE))
 inout <- factor(sample(LETTERS[1:5], 25, replace = TRUE))
 fr <- data.frame(inner = inner, outer = inout[as.integer(inner)])
 xtabs(~ inner + outer, fr, sparse = TRUE)
})

'Statistics > Contigency tables' 카테고리의 다른 글

3. Enter and analyze two-way table...  (0) 2022.06.28
Contingency tables  (0) 2022.02.14
1. Two-way table...  (0) 2022.02.14

통계 > 분할표 > 이원표 입력 및 분석하기...

Statistics > Contingency tables > Enter and analyze two-way table...

Linux 사례 (MX 21)

'통계 > 분할표 > 이원표 입력 및 분석하기...' 메뉴 기능을 선택하면 하위 창이 등장한다. '변수 이름', '행과 열의 수', '사례 수' 등을 입력할 수 있다. 아래의 내용은 'chisq.test' 함수 도움말 문서에 나오는 사례를 입력한다. 아래의 입력 스크립트를 참조 할 수 있다.

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

.Table <- matrix(c(762,327,468,484,239,477), 2, 3, byrow=TRUE)
dimnames(.Table) <- list("Gender"=c("Female", "Male"), "Party"=c("Democrats", "Independent", 
  "Republican"))
.Table  # Counts
.Test <- chisq.test(.Table, correct=FALSE)
.Test
.Test$expected # Expected Counts

Linux 사례 (MX 21)


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

## From Agresti(2007) p.39
M <- as.table(rbind(c(762, 327, 468), c(484, 239, 477)))
dimnames(M) <- list(gender = c("F", "M"),
                    party = c("Democrat","Independent", "Republican"))
(Xsq <- chisq.test(M))  # Prints test summary
Xsq$observed   # observed counts (same as M)
Xsq$expected   # expected counts under the null
Xsq$residuals  # Pearson residuals
Xsq$stdres     # standardized residuals


## Effect of simulating p-values
x <- matrix(c(12, 5, 7, 7), ncol = 2)
chisq.test(x)$p.value           # 0.4233
chisq.test(x, simulate.p.value = TRUE, B = 10000)$p.value
                                # around 0.29!

## Testing for population probabilities
## Case A. Tabulated data
x <- c(A = 20, B = 15, C = 25)
chisq.test(x)
chisq.test(as.table(x))             # the same
x <- c(89,37,30,28,2)
p <- c(40,20,20,15,5)
try(
chisq.test(x, p = p)                # gives an error
)
chisq.test(x, p = p, rescale.p = TRUE)
                                # works
p <- c(0.40,0.20,0.20,0.19,0.01)
                                # Expected count in category 5
                                # is 1.86 < 5 ==> chi square approx.
chisq.test(x, p = p)            #               maybe doubtful, but is ok!
chisq.test(x, p = p, simulate.p.value = TRUE)

## Case B. Raw data
x <- trunc(5 * runif(100))
chisq.test(table(x))            # NOT 'chisq.test(x)'!

'Statistics > Contigency tables' 카테고리의 다른 글

2. Multi-way tables...  (0) 2022.06.28
Contingency tables  (0) 2022.02.14
1. Two-way table...  (0) 2022.02.14

통계 > 적합성 모델 > 서열(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

통계 > 적합성 모델 > 선형 혼합 모델...
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

통계 > 평균 > 일-요인 반복-측정 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 > Summaries > Transform toward normaltiy...

 

어느 데이터셋을 활성화시키면, '통계 > 요약 > 정규성을 향해서 변환시키기...' 메뉴 기능이 아래와 같이 활성화될 것이다.

Linux 사례 (MX 21)

carData 패키지에 포함된 Prestige 데이터셋을 이용하여 연습해보자.

'데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...' 메뉴 기능을 선택한후 carData 패키지에 있는 Prestige 데이터셋을 찾아서 선택한다. 그러면, R Commander 상단에 있는 <활성 데이터셋 없음> 이라는 버튼이 'Prestige'로 바뀌면서 '통계 > 요약 > 정규성을 향해서 변환하기...' 메뉴 기능을 이용할 수 있게 된다. 이 메뉴를 선택한다. 그러면, 아래와 같은 화면이 등장한다.  Prestige 데이터셋에서 정규성을 향해서 변환시킬 변수를 선택하는 메뉴 창인데, income 변수를 선택해보자.

Linux 사례 (MX 21)

car 패키지에 포함된 powerTransform() 함수를 사용하여 출력창에 아래와 같은 결과를 생산한다. 출력내용에서 'Est Power'값으로 제시하는 0.1793을 확인한다. Prestige 패키지에 있는 income 변수에 0.1793 승(제곱)을 하면, 그 사례 값들은 정규 분포적 특성으로 변환될 수 있다는 의미이다.

Linux 사례 (MX 21)


'통계 > 요약 > 정규성 검정...' 메뉴 기능이 있다. 이 기능을 사용하여, Prestige 데이터셋의 income 변수와 정규성을 향해서 변환된 income 변수의 새로운 변수, 편의상 variable_Income,의 정규성 검정을 시도해보자.

https://rcmdr.kr/88

 

8. Test of normality...

통계 > 요약 > 정규성 검정... Statistics > Summaries > Test of normality... 수치형(numeric, integer) 변수들 중에서 하나를 선택한다. 기본 설정에 Shapiro-Wilk의 정규성 검정법이 선택되어 있다. 수입(연..

rcmdr.kr

먼저, 변환된 변수를 Prestige 데이터셋에 추가해야 한다. '데이터 > 활성 데이터셋에 있는 변수 관리하기 > 새로운 변수 계산하기...' 메뉴 기능을 통하여 income 변수가 변환된 variable_Income 변수를 만들어보자. '계산 표현식'에 income^0.1793이 입력된 것을 확인한다. 여기서 0.1793은 powerTransform() 함수를 통하여 앞서 추출한 income 변수의 승(제곱) 값이다.

Linux 사례 (MX 21)

Prestige 데이터셋에 variable_Income 이라는 새로운 변수가 추가된다. 이제 '통계 > 요약 > 정규성 검정...' 메뉴 기능을 선택하고, 차례로 두번의 정규성 검정을 진행한다. 첫번째는 income 변수로, 두번째는 variable_Income변수를 선택한다. 두개의 정규성 검정 결과를 비교하기 위해서다. 아래 화면은 두번째 검정, variable_Income 변수를 선택하는 메뉴 창이다.

Linux 사례 (MX 21)

두번의 정규성 검정에서 제시하는 유의 확률값을 살펴보자. variable_Income 변수의 정규성 검정 결과는 p-value=0.07573으로 variable _income 변수는 정규분포적 특징을 갖는다고 할 수 있다.

Linux 사례 (MX 21)


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

# Box Cox Method, univariate
summary(p1 <- powerTransform(cycles ~ len + amp + load, Wool))
# fit linear model with transformed response:
coef(p1, round=TRUE)
summary(m1 <- lm(bcPower(cycles, p1$roundlam) ~ len + amp + load, Wool))

# Multivariate Box Cox uses Highway1 data
summary(powerTransform(cbind(len, adt, trks, sigs1) ~ 1, Highway1))

# Multivariate transformation to normality within levels of 'htype'
summary(a3 <- powerTransform(cbind(len, adt, trks, sigs1) ~ htype, Highway1))

# test lambda = (0 0 0 -1)
testTransform(a3, c(0, 0, 0, -1))

# save the rounded transformed values, plot them with a separate
# color for each highway type
transformedY <- bcPower(with(Highway1, cbind(len, adt, trks, sigs1)),
                        coef(a3, round=TRUE))
## Not run: scatterplotMatrix( ~ transformedY|htype, Highway1) 

# With negative responses, use the bcnPower family
m2 <- lm(I1L1 ~ pool, LoBD)
summary(p2 <- powerTransform(m2, family="bcnPower"))
testTransform(p2, .5)
summary(powerTransform(update(m2, cbind(LoBD$I1L2, LoBD$I1L1) ~ .), family="bcnPower"))

## Not run:  
  # takes a few seconds:
  # multivariate bcnPower, with 8 responses
  summary(powerTransform(update(m2, as.matrix(LoBD[, -1]) ~ .), family="bcnPower"))
  # multivariate bcnPower, fit with one iteration using starting values as estimates
  summary(powerTransform(update(m2, as.matrix(LoBD[, -1]) ~ .), family="bcnPower", itmax=1))

## End(Not run)

# mixed effects model
## Not run: 
  # uses the lme4 package
  data <- reshape(LoBD[1:20, ], varying=names(LoBD)[-1], direction="long", v.names="y")
  names(data) <- c("pool", "assay", "y", "id")
  data$assay <- factor(data$assay)
  require(lme4)
  m2 <- lmer(y ~ pool + (1|assay), data)
  summary(l2 <- powerTransform(m2, family="bcnPower", verbose=TRUE))

## End(Not run)

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

8. Test of normality...  (0) 2022.02.13
7. Correlation test...  (0) 2022.02.13
6. Correlation matrix...  (0) 2022.02.13
5. Table of Statistics...  (0) 2022.02.13
4. Count missing observations  (0) 2022.02.13

통계> 차원 분석 > 확인적 요인 분석...
Statistics > Dimensional analysis > Confirmatory factor analysis...

Linux 사례 (MX 21)

R Commander를 설치하는 과정에서 의존패키지인 sem이 함께 설치된다. 안내가 나오면서 추가 설치를 하겠는가 물어보기도 한다. 위의 화면처럼, sem 패키지에 포함된 함수를 사용하는 <확인적 요인 분석...> 기능은 처음에는 비활성화되어 있다.

Linux 사례 (MX 21)

만약 Rcmdr 패키지가 호출될 때, sem 패키지가 자동으로 호출된다면, '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...'에 sem 패키지가 carData, sandwich 처럼 메뉴창안의 패키지 목록에 포함되어 있어야 할 것이다. 하지만, 위의 화면에선 보이지 않는다. sem 패키지를 추가로 호출해주어야 한다는 뜻이다.

library(sem) #설치한 sem 패키지를 호출하기
Linux 사례 (MX 21)

sem 패키지가 호출되면, '데이터 > 패키지에 있는 데이터 > 첨부된 패키지에서 데이터셋 읽기...'기능에서 sem 패키지의 데이터셋을 선택할 수 있게 된다. 아래 화면을 살펴보라.

Linux 사례 (MX 21)

HS.data를 선택하자. HS.data 데이터셋이 활성화되면, 처음에 미활성화된 <확인적 요인 분석...> 메뉴가 활성화된다. <확인적 요인 분석...> 메뉴를 선택하면, 두개의 하위 창을 보게된다. 변수들을 선택하여 요인으로 묶는 <데이터> 창과, 연산을 통하여 획득하고자하는 통계지수(index) 목록의 <선택기능> 창이다.

Linux 사례 (MX 21)
Linux 사례 (MX 21)
local({
  .model <- c('spatial: cubes, flags, paper, visual', 'verbal: general, paragrap, sentence, wordc, wordm',
   'memory: figurer, figurew, numberf, numberr, object, wordr', 
  'math: arithmet, deduct, numeric, problemr, series')
  .model <- cfa(file=textConnection(.model), reference.indicators=FALSE)
  .Data <- HS.data[, c('cubes', 'flags', 'paper', 'visual', 'general', 'paragrap', 'sentence', 'wordc', 
  'wordm', 'figurer', 'figurew', 'numberf', 'numberr', 'object', 'wordr', 'arithmet', 'deduct', 'numeric', 
  'problemr', 'series')]
  summary(sem(.model, data=.Data), robust=FALSE, fit.indices=c("AIC","BIC"))
})

위에 보이는 스크립트는 무엇을 나타내는가? 설명을 추가한다.
1. 선택된 HS.data는 여러개의 변수들을 포함하고 있다.
2. 최초의 연구목적에서 개념적으로 구성된 몇 몇 요인들이 있고, 이 요인들을 세부적으로 구성하는 것이 하위 변수들이다.
3. 변수들 몇 개씩을 묶어서 요인으로 재구성하는것, 연구적 의도에서 보면, 요인을 구성한다고 가정하여 세분화된 변수들의 사례적 값들이 실제로 요인을 구성하는지를 확인하는 작업이 <확인적 요인 분석>이다.
4. HS.data에 포함된 여러개의 변수들을 spatial, verbal, memory, math라는 네개의 개념화된 요인으로 변수들을 재그룹화 한것이다.
'spatial: cubes, flags, paper, visual'
'verbal: general, paragrap, sentence, wordc, wordm'
'memory: figurer, figurew, numberf, numberr, object, wordr'
'math: arithmet, deduct, numeric, problemr, series'
5. spatial, verbal, memory, math 라는 요인의 이름은 최초의 설계에서 등장하는 개념적 요인을 뜻하는 것이다. 편의상으로 factor.1, factor.2, factor.3, factor.4 등으로 이름을 붙여도 무방하다.
6. fit.indices라는 옵션에 AIC, BIC 두개의 통계지수가 포함되어 있는데, 이것은 <선택기능> 창의 기본설정이며, 원하는 지수를 추가로 선택할 수 있다. CFI, RMSEA 등이 선택될 수 있다.


Model Chisquare = 288.2654 Df = 164 Pr(>Chisq) = 0.000000007093121
AIC = 380.2654
BIC = -647.7007

Normalized Residuals
Min. 1st Qu. Median Mean 3rd Qu. Max.
-2.9135038 -0.7194881 0.0000003 -0.0040765 0.6636815 3.0180220

R-square for Endogenous Variables
cubes flags paper visual general paragrap sentence wordc wordm figurer figurew numberf
0.2226 0.3941 0.2223 0.5230 0.7003 0.6720 0.7473 0.5482 0.7279 0.4048 0.2281 0.2666
numberr object wordr arithmet deduct numeric problemr series
0.2637 0.2620 0.3410 0.3701 0.3716 0.3703 0.4514 0.5677

Parameter Estimates
Estimate Std Error z value Pr(>|z|)
lam[cubes:spatial] 2.2223150 0.29346740 7.572613 3.657918e-14 cubes <--- spatial
lam[flags:spatial] 5.6800079 0.54187523 10.482132 1.043637e-25 flags <--- spatial
lam[paper:spatial] 1.3343163 0.17637296 7.565311 3.869370e-14 paper <--- spatial
lam[visual:spatial] 5.0654142 0.41217065 12.289604 1.030090e-34 visual <--- spatial
lam[general:verbal] 10.3704348 0.59270550 17.496775 1.516142e-68 general <--- verbal
lam[paragrap:verbal] 2.8629032 0.16891656 16.948624 1.970114e-64 paragrap <--- verbal
lam[sentence:verbal] 4.4622524 0.24224226 18.420619 8.977035e-76 sentence <--- verbal
lam[wordc:verbal] 4.2021424 0.28775953 14.602965 2.688910e-48 wordc <--- verbal
lam[wordm:verbal] 6.5431707 0.36275031 18.037671 9.861300e-73 wordm <--- verbal
lam[figurer:memory] 4.8631276 0.45983127 10.575896 3.854762e-26 figurer <--- memory
lam[figurew:memory] 1.9563212 0.25677249 7.618889 2.558674e-14 figurew <--- memory
lam[numberf:memory] 2.3250383 0.27958224 8.316116 9.089292e-17 numberf <--- memory
lam[numberr:memory] 3.9599443 0.47913815 8.264723 1.400191e-16 numberr <--- memory
lam[object:memory] 2.5141011 0.30532432 8.234199 1.807636e-16 object <--- memory
lam[wordr:memory] 6.7199425 0.70198380 9.572789 1.040602e-21 wordr <--- memory
lam[arithmet:math] 2.9160802 0.26684706 10.927908 8.478019e-28 arithmet <--- math
lam[deduct:math] 11.5046085 1.05018494 10.954840 6.298925e-28 deduct <--- math
lam[numeric:math] 2.8136309 0.25736242 10.932563 8.054079e-28 numeric <--- math
lam[problemr:math] 6.2092835 0.50114800 12.390119 2.956038e-35 problemr <--- math
lam[series:math] 6.8583564 0.47520864 14.432306 3.240628e-47 series <--- math
C[spatial,verbal] 0.4489025 0.06117871 7.337560 2.175225e-13 verbal <--> spatial
C[spatial,memory] 0.5108162 0.06792364 7.520449 5.458862e-14 memory <--> spatial
C[spatial,math] 0.7790230 0.04665441 16.697736 1.361327e-62 math <--> spatial
C[verbal,memory] 0.3463073 0.06433754 5.382662 7.339215e-08 memory <--> verbal
C[verbal,math] 0.7149260 0.03895329 18.353416 3.099934e-75 math <--> verbal
C[memory,math] 0.6462679 0.05390219 11.989642 4.026422e-33 math <--> memory
V[cubes] 17.2435545 1.54451622 11.164373 6.091980e-29 cubes <--> cubes
V[flags] 49.6008557 5.10084929 9.724039 2.381442e-22 flags <--> flags
V[paper] 6.2302089 0.55792080 11.166834 5.925551e-29 paper <--> paper
V[visual] 23.4058957 2.94816071 7.939152 2.035683e-15 visual <--> visual
V[general] 46.0293821 4.70499846 9.783081 1.330957e-22 general <--> general
V[paragrap] 4.0002855 0.39637139 10.092266 5.977355e-24 paragrap <--> paragrap
V[sentence] 6.7333966 0.73838990 9.119026 7.580260e-20 sentence <--> sentence
V[wordc] 14.5526746 1.32499385 10.983202 4.603146e-28 wordc <--> wordc
V[wordm] 16.0038823 1.69905922 9.419261 4.542739e-21 wordm <--> wordm
V[figurer] 34.7745483 3.65651230 9.510305 1.901038e-21 figurer <--> figurer
V[figurew] 12.9489304 1.16993513 11.068075 1.792078e-28 figurew <--> figurew
V[numberf] 14.8673713 1.37745320 10.793377 3.699420e-27 numberf <--> numberf
V[numberr] 43.7757571 4.04762882 10.815161 2.917801e-27 numberr <--> numberr
V[object] 17.8024992 1.64412044 10.827978 2.536967e-27 object <--> object
V[wordr] 87.2656598 8.58151618 10.169026 2.726215e-24 wordr <--> wordr
V[arithmet] 14.4741292 1.30214271 11.115624 1.053114e-28 arithmet <--> arithmet
V[deduct] 223.8658487 20.15310880 11.108254 1.143741e-28 deduct <--> deduct
V[numeric] 13.4602271 1.21106704 11.114353 1.068216e-28 numeric <--> numeric
V[problemr] 46.8548686 4.40132174 10.645636 1.827323e-26 problemr <--> problemr
V[series] 35.8131070 3.71864165 9.630696 5.932631e-22 series <--> series

Iterations = 319


7. 위의 내용은 R Commander 출력창에 등장하는 분석 결과 요약이다.

+ Recent posts