[R] EMP 급여 데이터 분석 (입사연도이름급여 텍스트 전처리)

해당 포스트에서는 네이버지식인을 통해 질문받은 EMP 급여 데이터 분석 방법에 대해 설명합니다.

emp-salaly-data-anlaysis-with-stringr-in-r

INTRO

아래에서는 EMP 벡터를 활용하여 사원들의 급여 정보를 처리하고, 특정 조건을 만족하는 사원들을 출력하는 함수를 정의하여 출력하는 코드를 설명합니다. 해당 과정을 위해 emp_pay()라는 사용자 정의 함수를 생성하여 활용하며, 전체 급여 평균을 계산하고, 이보다 높은 급여를 받는 사원들의 정보를 추출하여 출력합니다.

문제 해결 과정에서는 stringr 패키지str_extract()str_replace() 함수, 그리고 숫자 변환 함수인 as.numeric()을 사용합니다. 또한, 한글 문자를 인식하는 정규표현식 패턴 [가-힣]을 활용하여 사원의 이름을 추출합니다.

문제

emp-salaly-data-anlaysis-with-stringr-in-r
[출처] 네이버지식인

R 코드

아래 함수 emp_pay() 함수는 EMP 벡터에서 숫자 부분을 추출하여 급여를 계산하고, 평균을 계산한 후, 평균 이상의 급여를 받는 사원들의 정보를 출력합니다.

# Vector 데이터 준비
EMP <- c("2014홍길동220", "2002이순신300", "2010유관순260")

# 사용자 함수 정의
emp_pay <- function(x){

  library(stringr)

  # 급여 추출
  emp_salary <- as.numeric(str_extract(x, "[0-9]+$"))

  # 전체 급여 평균 계산
  emp_salary_mean <- mean(emp_salary)

  cat(" 전체 급여 평균 :", emp_salary_mean)
  cat("\n 평균 이상 급여 수령자")

  # 평균 이상 급여 수령자 인덱스 추출
  idx <- which(emp_salary >= emp_salary_mean)

  # 결과 출력
  for(i in idx){
    cat("\n", str_extract(x[i], "[가-힣]+"), "=>", emp_salary[i])
  }
}

# 함수 호출
emp_pay(EMP)
 전체 급여 평균 : 260
 평균 이상 급여 수령자
 이순신 => 300
 유관순 => 260

결론

본문에서 설명한 코드를 통해 우리는 주어진 데이터에서 전체 급여 평균을 계산하고, 평균보다 높은 급여를 받는 사원들의 정보를 추출할 수 있었습니다. 해당 코드를 통해 급여 관리나 특정 조건을 만족하는 데이터를 추출하는 데 유용하게 사용할 수 있습니다.

관련 링크

[1] 네이버 지식인
[2] stringr 패키지