행궁동 데이터 엔지니어

반응형

R dataframe의 row를 원하는 순서로 정렬하는 방법입니다.

Factor자료형과 order 함수를 사용해서 정렬 합니다.

 

목표 : Iris 데이터를 Species명 기준으로 정렬하기

  • 기존 : setosa, versicolor, virginica 순서로 정렬
  • 변경 : versicolor, setosa, virginica 순서로 정렬

정렬 변경

사용자 지정 정렬(order) 방법

  • factor 자료형과 order 함수 사용

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

 

<사용자 지정 정렬 예시 코드>

# Iris 데이터 불러오기
library(datasets)

data(iris)
unique(iris$Species)

# 사용자지정 정렬을 위한 vector 생성
order_v <- c('versicolor', 'setosa', 'virginica')

# Species 컬럼을 factor 자료형으로 변경하고, levels에 사용자지정 정렬용 벡터 지정
iris$Species <- factor(iris$Species, levels = order_v)
unique(iris$Species)

# iris$Species <- ordered(iris$Species, levels = order_v)
# unique(iris$Species)

# 정렬하기
iris_orderd <- iris[order(iris$Species, decreasing = FALSE), ]

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

 

감사합니다.

 

반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band