현재 다루고 있는 객체의 명목형 변수의 원소를 일괄로 정리하고 싶을 때가 있다. table()
함수를 사용하면 되지만 여러 변수를 한 번에 할때는 어떻게 할까?
단일 변수의 확인
먼저 데이터를 준비한다.
1 | library("ggplot2") |
table()
함수와 as.data.frame()
함수를 사용하여 다이아몬드의 색상변수 color 에 속한 고유 원소의 개수를 다음과 같이 확인할 수 있다.
1 | table(df$color) |
다중 변수의 확인
단일 변수가 아니라 다중 변수를 확인하고자 하는데 문제점이 있다. 다음과 같이 cut 변수의 고유 원소는 5개로 color의 그것과 다르다.
1 | table(df$cut) |
그래서 이 때 선택할 수 있는 방법이 list 객체의 활용인데 list 객체에 정리할 경우 다음과 같다.
1 | apply(df[, 2:4], MARGIN = 2, FUN = "table") |
보통 데이터프레임을 활용하기 마련인데 list 객체를 사용할 경우 인덱싱이 불편하다. 그래서 이를 lapply()
함수를 활용하여 정리하는 방법을 소개한다.
1 | library("dplyr") |
각 list에 같은 형식의 데이터프레임이 있을 경우 row 기준으로 이어붙여주는 bind_rows()
함수를 사용하였다. 이 함수를 위해서 dplyr 패키지를 호출했으며 그 동작은 마치 기본 함수인 rbind()
와 같다고 보면 된다.