해당 포스트에서는 네이버지식인을 통해 질문받은 EMP 급여 데이터 분석 방법에 대해 설명합니다.
INTRO
아래에서는 EMP
벡터를 활용하여 사원들의 급여 정보를 처리하고, 특정 조건을 만족하는 사원들을 출력하는 함수를 정의하여 출력하는 코드를 설명합니다. 해당 과정을 위해 emp_pay()
라는 사용자 정의 함수를 생성하여 활용하며, 전체 급여 평균을 계산하고, 이보다 높은 급여를 받는 사원들의 정보를 추출하여 출력합니다.
문제 해결 과정에서는 stringr 패키지의 str_extract()
와 str_replace()
함수, 그리고 숫자 변환 함수인 as.numeric()
을 사용합니다. 또한, 한글 문자를 인식하는 정규표현식 패턴 [가-힣]
을 활용하여 사원의 이름을 추출합니다.
문제
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 패키지