[R] dplyr 패키지를 이용한 손쉬운 데이터 조작

반응형
    반응형

    dplyr 패키지를 이용한 데이터 조작

    안녕하세요~ 이번 포스팅에서는 R의 패키지인 dplyr에 대해 이야기해보려고 합니다. dplyr은 데이터를 효율적으로 다루기 위해 만들어진 패키지로, 간결하고 쉬운 코드를 작성하는데 유용합니다. 특히, 파이프(%>%)를 이용한 코드가 가능하기 때문에 한번에 데이터 조작을 할 수 있습니다. 그럼 주요 기능들을 살펴보겠습니다.

    dplyr 패키지 소개

    dplyr은 Hadley Wickham이 개발한 패키지로, 데이터 프레임을 조작하는데 최적화되어 있습니다. 패키지 없이 R로 다 해결하려면 코드양이 많아지지만 dplyr 를 사용하면 코드량을 획기적으로 줄일 수 있습니다.

    주요기능은 다음과 같습니다.

    • filter() : 행 필터링
    • select() : 열 선택
    • mutate() : 새로운 열 추가
    • summarize() : 데이터 요약
    • arrange() : 행 정렬
    • group_by() : 그룹화

    어떻게 쓰는지 예제를 통해 알아보겠습니다.
    데이터는 R의 내장 데이터인 mtcars로 해보겠습니다.

    data <- mtcars
    head(data)

    filter() : 행 필터링

    필터링은 데이터분석에서 빼놓을 수 없는 중요한 요소입니다. dplyr filter() 함수는 조건에 맞는 행을 선택해줍니다. 예를 들어, 연비(mpg)가 20이상인 행을 선택하려면 다음과 같이 합니다.

    filtered_data <- data %>% filter(mpg >=20)
    head(filtered_data)

    select() 함수 : 열 선택

    select() 함수는 내가 필요한 열만 선택할 수 있습니다.
    mpg,cyl,hp 열만 선택해보겠습니다.

    selected_data <- data %>% select(mpg,cyl,hp)
    head(selected_data)

     

    mutate() 함수 : 새로운 열 추가

    dplyr를 이용해 열을 추가하려면 mutate() 함수를 쓰면 간단하게 할 수 있습니다. 무게(wt)를 킬로그램으로 변환한 열을 추가하면 다음과 같이 할 수 있습니다.

    mutated_data <- data %>% mutate(wt_kg=wt*453.592)
    head(mutated_data)

    wt_kg라는 새로운 열이 추가되었습니다.

    summarize() : 데이터 요약

    데이터를 요약하려면 summarize()함수를 씁니다. 특히, group_by()와 같이 쓰면 시너지를 낼 수 있습니다. group_by()를 통해 그룹별 요약 통계를 계산하고 summarize()를 통해 정리를 합니다.

    summarized_data <- data %>% group_by(cyl) %>% summarize(mean_mpg = mean(mpg, na.rm=TRUE))
    print(summarized_data)

    arrange() : 행 정렬

    arrange() 함수는 데이터를 정렬하는 데 사용됩니다. 내림차순(desc)이나 오름차순(asc)으로 정렬합니다. 예를 들어, 연비(mpg)를 기준으로 데이터를 내림차순으로 정렬하려면 다음과 같이 할 수 있습니다.

    arranged_data <- data %>% arrange(desc(mpg))
    head(arranged_data)

    파이프 연산을 이용한 조작

    파이프연산을 흔히 체인연산자라고 합니다. 파이프연산을 이용하면 여러번 해야하는 데이터 조작을 한꺼번에 할 수 있습니다. dplyr에서만 할 수 있는 특이한 방법입니다. 파이프 연산을 연비가 20이상인 차량 중 실린더별로 평균 마력을 계산해보겠습니다.

    complex_data <- data %>%
      filter(mpg >= 20) %>%
      group_by(cyl) %>%
      summarize(mean_hp = mean(hp, na.rm = TRUE)) %>%
      arrange(desc(mean_hp))
    
    print(complex_data)

    마치며

    dplyr에 대한 기능을 소개했습니다. 사실, R로도 가능하지만 dplyr로 쉬운 코드와 빠른 결과를 볼 수 있기에 데이터프레임을 조작하는데 아주 괜찮은 것 같습니다.

     

    함께보면 좋은 글

     

     

    R 데이터 변환 정리글

    데이터 변환이란?빅데이터 분석과정 중에서 데이터 변환은 정제된 데이터를 분석 목적에 맞게 만드는 과정을 말합니다. 그래서 데이터 변환 단계에서는 변수를 생성하거나 데이터 선택해 필요

    seong6496.tistory.com

     

     

    [R] 결측치 처리

    R 결측치 처리데이터 분석에서 중요한 단계 중 하나인 데이터 정제 및 전처리에 대해 얘기해보려고 합니다. 데이터 정제는 원데이터를 분석하기 쉬운 데이터로 만드는 과정으로, 데이터의 품질

    seong6496.tistory.com

     

     

    R studio 패키지 설치 오류 모음

    R은 패키지 설치가 너무 어렵다R은 깔끔하게 코드를 작성할 수 있어 좋은데 호환성이 너무 안좋습니다. 조금만 엇나가면 바로 안됩니다. 힘드네요. 특히 패키지 설치로 애를 아주 많이 먹었습니

    seong6496.tistory.com

     

    'R' 카테고리의 다른 글

    [R] ggplot2로 데이터 그래프 그리기  (0) 2024.08.05
    R 새로운 열 추가 방법 총정리  (0) 2024.08.03
    R 데이터 변환 정리글  (0) 2024.07.31
    [R] 결측치 처리  (0) 2024.07.30
    [R] 데이터 타입 변경하기  (0) 2024.07.29

    댓글

    Designed by JB FACTORY

    ....