통계> 차원 분석 > 확인적 요인 분석...
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 출력창에 등장하는 분석 결과 요약이다.

통계 > 차원 분석 > 군집 분석 > 위계 군집화를 데이터셋에 추가하기...

Statistics > Dimensional Analysis > Cluster Analysis > Add hierarchical clustering to data set...

Linux 사례 (MX 21)

 ' 통계 > 차원 분석 > 군집 분석 > 위계 군집 분석...' 기능을 진행했다고 하자. 그 다음에 <위계군집화를 데이터 셋에 추가하기...>를 이용할 수 있다. <군집의 수:>를 3으로 변경하자. 그리고 예(OK) 버튼을 누르면, hclus.label라는 변수가 USArrests 데이터셋에 추가된다.

Linux 사례 (MX 21)

R Commander 상단에 있는 <데이터셋 보기> 버튼을 눌러보자. 아래와 같이 데이터셋의 내부 구성이 보일 것이다. hclus.label 변수가 추가되어 있음을 확인할 수 있다:

Linux 사례 (MX 21)

통계 > 차원 분석 > 군집 분석 > 위계 군집화 요약하기...

Statistics > Dimensional analysis > Cluster analysis > Summarizing hierarchical clustering...

Linux 사례 (MX 21)

'통계 > 차원 분석 > 군집 분석 > 위계 군집 분석'을 하였다고 하자. 그 다음에는 <위계 군집화 요약하기...> 기능을 사용할 수 있다.

https://rcmdr.kr/172

 

5.2. Hierarchical cluster analysis...

통계 > 차원 분석 > 군집 분석 > 위계 군집 분석... Statistics > Dimensional analysis > Cluster analysis > Hierarchical cluster analysis... datasets 패키지에 있는 USArrests 데이터셋을 활용해서, 위계..

rcmdr.kr

<위계적 군집 요약> 창에서 <군집의 수>를 3으로 변경해보자. <군집 요약 인쇄하기>, <군집 행렬도(Bi-plot)> 등이 선택되어 있는 것을 점검하자.

Linux 사례 (MX 21)

예(OK) 버튼을 누르면, 아래와 같은 그래픽 창이 등장한다.

Linux 사례 (MX 21)

 

summary(as.factor(cutree(HClust.1, k = 3))) # Cluster Sizes
by(model.matrix(~-1 + Assault + Murder + Rape + UrbanPop, USArrests), as.factor(cutree(HClust.1, k 
  = 3)), colMeans) # Cluster Centroids
biplot(princomp(model.matrix(~-1 + Assault + Murder + Rape + UrbanPop, USArrests)), xlabs = 
  as.character(cutree(HClust.1, k = 3)))

Linux 사례 (MX 21)

통계 > 차원 분석 > 군집 분석 > 위계 군집 분석...

Statistics > Dimensional analysis > Cluster analysis > Hierarchical cluster analysis...

Linux 사례 (MX 21)

datasets 패키지에 있는 USArrests 데이터셋을 활용해서, 위계 군집 분석을 연습해보자. 우선 USArrests 데이터셋을 활성화시킨다.

https://rcmdr.kr/144

 

USArrests 데이터셋

datasets > USArrests data(USArrests, package="datasets") R Commander 화면 상단에서 <데이터셋 보기> 버튼을 누르면 아래와 같은 내부 구성을 확인할 수 있다. help("USArrests") USArrests {datasets} R Do..

rcmdr.kr

<위계적 군집화> 창에서 아래와 같이 변수 네개를 모두 선택한다. 그리고, 기본으로 추천되는 HClust.1를 군집화 이름으로 사용하자. 

Linux 사례 (MX 21)

<선택기능> 창에서 기본설정된 사항들을 그대로 사용해보자. <군집화 방법>, <거리 측정>, <덴드로그램 그리기> 등을 살펴본다.

Linux 사례 (MX 21)

예(OK) 버튼을 누르면, 아래와 같은 그래픽 창이 등장한다.

Linux 사례 (MX 21)

data(USArrests, package="datasets")
HClust.1 <- hclust(dist(model.matrix(~-1 + Assault+Murder+Rape+UrbanPop, USArrests)) , method= 
  "ward")
plot(HClust.1, main= "Cluster Dendrogram for Solution HClust.1", xlab= 
  "Observation Number in Data Set USArrests", sub="Method=ward; Distance=euclidian")

 

통계 > 차원 분석 > 군집 분석 > k-평균 군집 분석...

Statistics > Dimensional analysis > Cluster analysis > k-means cluster analysis...

Windows 사례 (10 Pro)

datasets 패키지에서 제공하는 USArrests 데이터셋을 이용해보자.

https://rcmdr.tistory.com/144

 

USArrests 데이터셋

datasets > USArrests data(USArrests, package="datasets") R Commander 화면 상단에서 <데이터셋 보기> 버튼을 누르면 아래와 같은 내부 구성을 확인할 수 있다. help("USArrests") USArrests {datasets} R Do..

rcmdr.kr

데이터셋에 포함된 네개의 변수를 모두 선택한다.

Windows 사례 (10 Pro)

<선택기능> 창에서, 군집의 수를 3개, 초기값의 수를 5번으로, 최대 반복 횟수를 5회로 정해보자. 데이터셋에 추가될 변수 이름이 KMeans가 될 것이다. 아래 있는 선택사항에서 데이터셋에 군집 할당하기를 선택한다.

Windows 사례 (10 Pro)

위 화면에서 선택된 군집 행렬도(Bi-plot)이 아래와 같이 생산된다.

Windows 사례 (10 Pro)

USArrests 데이터셋에 변수 KMeans가 추가될 것이다. R Commander 상단에 있는 <데이터셋 보기> 버튼을 눌러보자. KMeans 변수는 요인형으로 1, 2, 3 이라는 세개의 군집을 표시한다.

Windows 사례 (10 Pro)

아래 화면은 다소 복잡해보일 것이다. 그러나 객체 .cluster가 만들어졌으며, 그 객체안에 있는 $size, $withinss, $tot.withinss, $betweenss 등의 정보를 차례를 보여준다고 생각하자.  그리고 biplot을 생산하고, USArrests 데이터셋에 KMeans라는 변수를 추가하는 것이다.

'Statistics > Dimensional analysis' 카테고리의 다른 글

5.3. Summarize hierarchical clustering...  (0) 2022.03.20
5.2. Hierarchical cluster analysis...  (0) 2022.03.20
3. factor analysis...  (0) 2022.03.08
2. Principal-components analysis...  (0) 2022.03.08
1. Scale reliability...  (0) 2022.03.08

통계 > 차원 분석 > 요인 분석...

Statistics > Dimensional analysis > factor analysis...

Linux 사례 (MX 21)

통계 > 차원 분석 > 주-성분 분석...

Statistics > Dimensional analysis > Principal-components analysis...

Linux 사례 (MX 21)

<주성분 분석> 메뉴 창에서 <변수 (두개 이상 선택)> 에서 4개의 변수를 모두 선택해보자.

Linux 사례 (MX 21)

<선택기능> 창에서 기본 설정되어 있는 기능을 기억하자.

Linux 사례 (MX 21)

local({
  .PC <- princomp(~Assault+Murder+Rape+UrbanPop, cor=TRUE, data=USArrests)
  cat("\nComponent loadings:\n")
  print(unclass(loadings(.PC)))
  cat("\nComponent variances:\n")
  print(.PC$sd^2)
  cat("\n")
  print(summary(.PC))
})

 

Linux 사례 (MX 21)


.PC <- princomp(~Assault+Murder+Rape+UrbanPop, cor=TRUE, data=USArrests)
plot(.PC)

Linux 사례 (MX 21)

biplot(.PC)

Linux 사례(MX 21)

'Statistics > Dimensional analysis' 카테고리의 다른 글

5.3. Summarize hierarchical clustering...  (0) 2022.03.20
5.2. Hierarchical cluster analysis...  (0) 2022.03.20
5.1. k-means cluster analysis...  (0) 2022.03.18
3. factor analysis...  (0) 2022.03.08
1. Scale reliability...  (0) 2022.03.08

통계 > 차원 분석 > 척도 신뢰성...

Statistics > Dimensional analysis > Scale reliability...

Linux 사례 (MX 21)

carData 패키지에서 제공하는 DavisThin 데이터셋을 활성화시키자. DavisThin 데이터셋에는 DT1, DT2, DT3, ..., DT7 이라는 7개의 수치형 변수가 있다. 이 변수들은 "drive for thinness" 척도를 구성한다.

 

<척도 신뢰성> 창에서 <변수 (세개 이상 선택)> 기능에서 DT1부터 DT7까지 일곱개의 변수를 선택하고,  예(OK) 버튼을 누른다.

Linux 사례(MX 21)

reliability(cov(DavisThin[,c("DT1","DT2","DT3","DT4","DT5","DT6","DT7")], 
	use="complete.obs"))

Linux 사례 (MX 21)

 

+ Recent posts