행궁동 데이터 엔지니어

반응형

R에서 데이터를 매핑하는 방법입니다.

plyr패키지의 mapvalues 함수를 이용해서 매핑하는 방법이고,

엑셀의 Vlookup 함수, Python의 Dict 자료구조처럼 사용할 수 있습니다.

 

목표, Iris 데이터의 Species(종) 명을 아래와 같이 한글로 변경  

  • setosa -> 부채붓꽃
  • vesicolor -> 북방푸른꽃창포
  • virginica -> 아이리스버지니카

값 매핑 결과 : Species(종)을 Species_new(한글명) 으로 매핑

 

매핑(mapping) 방법

  • plyr 패키지의 mapvalues 함수 사용
  • 사용 방법 : plyr::mapvalues(데이터, 패턴벡터, 대체내용벡터)

긴 설명보다는 코드를 보시면 직관적인 이해가 되실 거 같아 아래에 예시 코드 남깁니다.

 

<mapvalues 사용 예시 코드>

# plyr 패키지 및 데이터셋 로드
library(plyr)
library(datasets)

data(iris)
summary(iris)

# Species(종) 확인
unique(iris$Species)
>> 
[1] setosa     versicolor virginica 
Levels: setosa versicolor virginica

# 매핑을 위해 패턴(원본), 대체(변경 후) 벡터 생성
pattern <- c('setosa', 'versicolor', 'virginica')
replcements <- c('부채붓꽃', '북방푸른꽃창포', '아이리스버지니카')

# 매핑 
# plyr::mapvalues(데이터, 패턴벡터, 대체내용벡터)
iris$Species_new <- plyr::mapvalues(iris$Species, pattern, replcements)

# 확인
unique(iris$Species_new)
>>
[1] 부채붓꽃         북방푸른꽃창포   아이리스버지니카
Levels: 부채붓꽃 북방푸른꽃창포 아이리스버지니카

혹시 궁금하신 사항 있으시면 댓글 남겨주세요.

 

감사합니다.

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band