수준 개수 구하기
dplyr의 mutate()와 summarize()에서는 across()를 사용해 첫 번째 인수의 조건을 만족하는 모든 열에 두 번째 인수(함수)를 적용할 수 있습니다.
여기서는 tidyr와 함께 이를 사용하여 multiple_choice_responses의 각 요인 변수에 대해 수준의 개수를 구해 보겠습니다. tidyr의 pivot_longer()는 데이터셋을 와이드 형식에서 롱 형식으로 변환합니다. 이 함수의 두 인수는 새 열 이름으로, 하나는 기존 열 이름들을 담고 다른 하나는 모든 값을 담습니다.
이 연습은 강의의 일부입니다
Tidyverse로 배우는 범주형 데이터
연습 안내
- 모든 문자형 열을 요인형 열로 바꾸고, 새 데이터셋을
responses_as_factors로 저장하세요. - 새로운 데이터셋
number_of_levels를 만들고, 다음을 수행하세요:- 각 열에
nlevels()함수를 적용하기 위해summarize와across를 사용하세요. - 데이터셋의 형식을 와이드에서 롱으로 바꾸세요.
- 각 열에
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Change all the character columns to factors
responses_as_factors <- multiple_choice_responses %>%
mutate(___(is.character, as.factor))
number_of_levels <- responses_as_factors %>%
# Apply the function nlevels to each column
summarize(___(everything(), ___)) %>%
# Change the dataset from wide to long
___(everything(), names_to = "variable", values_to = "num_levels")