Windows 사례

선택하면 아래와 같은 이미지 파일이 등장한다:

 

데이터 > 활성 데이터셋의 변수 관리하기 > 요인 대비 정의하기...
Data > Manage variables in active data set > Define contrasts for a factor...

Linux 사례 (MX 21)

요인형 변수의 특징을 수리적으로 다루기 위해서 행렬(매트릭스) 형식으로 재구성하는 경우가 빈번하다. 변수 내부의 기준 수준을 정하거나, 개별 수준들의 특징(사례 갯수, 거리)을 기준으로 행렬을 만드는데 활용되는 선택사항들을 결정한다. Prestige 데이터셋에는 직업 유형을 뜻하는 type 이라는 요인형 변수가 있다. <요인 대비 설정하기> 기능은 요인형 변수에만 해당된다. 다음의 화면에서 선택할 수 있다.

Linux 사례 (MX 21)


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

utils::example(factor)
fff <- ff[, drop = TRUE]  # reduce to 5 levels.
contrasts(fff) # treatment contrasts by default
contrasts(C(fff, sum))
contrasts(fff, contrasts = FALSE) # the 5x5 identity matrix

contrasts(fff) <- contr.sum(5); contrasts(fff)  # set sum contrasts
contrasts(fff, 2) <- contr.sum(5); contrasts(fff)  # set 2 contrasts
# supply 2 contrasts, compute 2 more to make full set of 4.
contrasts(fff) <- contr.sum(5)[, 1:2]; contrasts(fff)

## using sparse contrasts: % useful, once model.matrix() works with these :
ffs <- fff
contrasts(ffs) <- contr.sum(5, sparse = TRUE)[, 1:2]; contrasts(ffs)
stopifnot(all.equal(ffs, fff))
contrasts(ffs) <- contr.sum(5, sparse = TRUE); contrasts(ffs)

데이터 > 활성 데이터셋의 변수 관리하기 > 사용하지 않은 요인 수준 누락시키기...
Data > Manage variables in active data set > Drop unused factor levels...

Linux 사례 (MX 21)

carData 패키지에 있는 Prestige 데이터셋에는 type 이라는 요인형 변수가 있다. bc, prof, wc 라는 수준을 갖고 있다. blue collar, professional, white collar를 뜻한다. 블루칼라와 화이트칼라 그룹의 수입(연봉), 학력(교육연수), 직업권위를 뜻하는 income, education, prestige 라는 변수의 정보를 비교하고자 한다. 먼저 prof 수준을 데이터셋에서 제거해야 할 것이다.

Linux 사례 (MX 21)

참고로, <하위셋 표현식>을 보다 꼼꼼히 살펴보라
Prestige.sub1 <- subset(Prestige, subset=type !="prof") [O]
Prestige.sub1 <- subset(Prestige, subset=type=!prof) [X]
Prestige.sub1 <- subset(Prestige, subset=type=!"prof") [X]

아래 출력창에서 Prestige 데이터셋의 type, Prestige.sub1 데이터셋의 type 요약 정보를 비교해보라. Prestige 데이터셋의 type 변수에는 prof 수준을 가진 31개의 사례가 사라졌지만, prof 수준은 아직 남아있다.

Linux 사례 (MX 21)

Prestige.sub1의 type 변수에서 사용되지 않는 수준인, 다른말로 사례를 갖고 있는 않는 수준인 prof를 제거하자. 그래서 bc, wc 두개의 수준을 비교하는 정보를 만들고, 분석한다고 하자. <수준을 누락시킬 요인 (하나 이상 선택)>에서 type을 선택하고, 예(OK) 버튼을 누른다.

Linux 사례 (MX 21)

그리고 아래 화면에서 OK 버튼을 누른다.

Linux 사례 (MX 21)

Prestige.sub1 <- within(Prestige.sub1, {
  type <- droplevels(type) 
})

출력창에서 사용하지않는 요인 수준이 있는 변수정보와 누락시킨 이후의 변수정보를 찾아 비교해보라. type변수에 사례가 없는 prof 수준이 제거된 후 bc와 wc 두개 요인만 보일 것이다.

Linux 사례(MX 21)


?droplevels  # base 패키지의 droplevels 도움말 보기

aq <- transform(airquality, Month = factor(Month, labels = month.abb[5:9]))
aq <- subset(aq, Month != "Jul")
table(           aq $Month)
table(droplevels(aq)$Month)

+ Recent posts