4.6 rename() 함수를 이용한 데이터 프레임의 컬럼 이름 변경

4.6.1 rename() 함수의 기본 형식

rename(dataframe, new_var1 = old_var1, new_var2 = old_var2, ...)

  • dataframe : 데이터 세트
  • new_var1 = old_var1, : 새로운 컬럼 명(new_var1) = 이전의 컬럼명(old_var1)
  • 새로운 변수 이름을 앞에, 이전 변수이름을 뒤에 위치시킨다.

  • 큰 따옴표를 안 쓰며, 그냥 컬럼 이름만 써 준다.

  • 이름을 변경하고자 하는 변수가 여러 개 일 경우 ‘,’ (comma)로 구분한다.

Cars93_1 데이터 프레임의 8개의 컬럼명 앞에 ’New_' 라는 접두사(prefix)를 붙여 바꿔보자.

# rename() : rename column name 
names(Cars93_1) 
## [1] "Manufacturer" "Model"        "Type"         "Min.Price"    "Price"       
## [6] "Max.Price"    "MPG.city"     "MPG.highway"
# rename(dataframe, new_var1 = old_var1, new_var2 = old_var2, ...)
Cars93_2 <- rename(Cars93_1, 
                   New_Model = Model, 
                   New_Type = Type, 
                   New_MPG.city = MPG.city, 
                   New_MPG.highway = MPG.highway)
names(Cars93_2)
## [1] "Manufacturer"    "New_Model"       "New_Type"        "Min.Price"      
## [5] "Price"           "Max.Price"       "New_MPG.city"    "New_MPG.highway"
# 또는
Cars93_2 <-  Cars93_1 %>%
                 rename(New_Model = Model, 
                        New_Type = Type, 
                        New_MPG.city = MPG.city, 
                        New_MPG.highway = MPG.highway)
names(Cars93_2)
## [1] "Manufacturer"    "New_Model"       "New_Type"        "Min.Price"      
## [5] "Price"           "Max.Price"       "New_MPG.city"    "New_MPG.highway"
  • 위의 결과로 Cars93_2 데이터 프레임이 생성되고, New_Model, New_Type, New_MPG.city, New_MPG.hightway 등의 4개의 컬럼만 이름이 변경되고, 나머지는 이전의 컬럼 명 그대로 사용하다.

이전에 plyr 패키지의 rename() 함수나 reshaple 패키지의 rename() 함수를 사용해 보았다면 약간 혼란이 생길 수 있다. 큰 따옴표(“var_name”)를 써야 하는건지 말아야 하는건지, 새로운 변수 이름(new_var)과 이전 변수 이름(old_var)의 위치가 앞인지 뒤인지, 변수가 여러개인 경우 c() 로 묶어주어야 하는지 아닌지가 패키지별로 조금씩 다르기 때문이다. (참고 링크=> http://rfriend.tistory.com/41 )

데이터 전처리는 dplyr 패키지로 단일화해 나가는 것이 혼동을 줄일 수 있는 좋은 전략일 것이다.