R-Blogger블로그·해설한국어2023-11-17
R의 {dplyr}를 활용한 데이터 조작 입문
데이터 분석을 위한 {dplyr} 패키지 소개 {dplyr} 패키지는 R에서 데이터 프레임을 조작할 때 가장 많이 사용되는 도구 중 하나이며, 직관적인 문법으로 복잡한 연산을 간결하게 작성할 수 있습니다. 1. 관측치 필터링 filter() 함수를 이용해 특정 조건을 만족하는 행만 추출합니다. 예를 들어, age > 30인 사람만 골라낼 수 있습니다. 2. 파이프 연산자 %>% 파이프 연산자는 앞선 결과를 바로 다음 함수에 넘겨 주어 코드 흐름을 한눈에 파악할 수 있게 해 줍니다. 3. 관측치 추출 (위치 기반) 행의 번호를 기준으로 추출하려면 slice() 를 사용합니다. 예를 들어, 첫 10개 행을 가져오려면 slice(1:10) 이라고 입력합니다. 또한 head() 와 tail() 를 통해 앞뒤 N개의 행을 손쉽게 가져올 수 있습니다. 4. 관측치 추출 (값 기반) 특정 값에 해당하는 행을 추출하려면 filter() 를 그대로 활용하면 됩니다. 예를 들어, country == 'South Korea' 같은 조건을 넣습니다. 5. 샘플링 (표본 추출) sample_n() 과 sample_frac() 를 이용해 무작위로 n개의 행이나 일정 비율의 행을 샘플링합니다. 6. 관측치 정렬 arrange() 함수를 사용해 한 개 이상의 변수를 기준으로 오름차순/내림차순 정렬이 가능합니다. 예: arrange(desc(salary)) 7. 변수 선택 데이터 프레임에서 필요한 열만 골라내려면 select() 를 사용합니다. 예: select(name, age, income) 8. 변수 이름 바꾸기 rename() 함수를 활용해 열의 이름을 새롭게 지정합니다. 예: rename(total = sum) 9. 변수 생성 및 변형 새로운 변수를 만들거나 기존 변수를 변형하려면 mutate() 를 사용합니다. 예: mutate(age_group = ifelse(age >= 50, 'Senior', 'Junior')) 10. 요약 통계량 계산 데이터를 요약할 때 summarise() (또는 summarize()) 를 사용합니다. 예: summarise(mean_income = mean(income, na.rm = TRUE)) 여러 변수를 동시에 요약하고 싶다면 group_by() 로 그룹을 만든 뒤 summarise() 를 적용하면 됩니다. 11. 전체 워크플로우 예시 # 1. 데이터 불러오기 df <- read_csv("data.csv") # 2. 파이프를 활용해 전처리 df_clean <- df %>% filter(!is.na(income)) %>% mutate(income_k = income / 1000) %>% select(name, age, income_k, country) %>% arrange(desc(income_k)) # 3. 요약 통계량 생성 summary_stats <- df_clean %>% group_by(country) %>% summarise( avg_income = mean(income_k, na.rm = TRUE), count = n() ) 위와 같은 단계별 접근법을 통해 데이터 전처리와 분석을 효율적으로 진행할 수 있습니다. 추가적인 함수와 활용 팁은 공식 문서(https://dplyr.tidyverse.org)에서 확인해 보시기 바랍니다.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
- 작성자
- R-Blogger
- 출처
- R-Blogger
- 플랫폼
- R-Blogger
- 분류
- 블로그·해설
- 언어
- 한국어
- 발행일
- 2023-11-17