머신러닝 및 딥러닝/R

[R] 데이터프레임 열 이름/변수명 바꾸기

삡삐in오즈 2022. 11. 25. 09:57
728x90
반응형

 


이번 글에서는 R에서 데이터 프레임 열 이름을 바꾸는 방법에 대해 소개해보겠습니다.
특히 외부 데이터를 불러올 경우 원하지 않는 형식의 열 이름으로 불러올 경우가 있습니다. 이해하기 쉬운 열 이름으로 바꾸면 더 수월하게 작업할 수 있게 됩니다.


📊 샘플 데이터 프레임

예제로 변수가 3개인 데이터 프레임 df을 생성했습니다.

df <- data.frame(v1 = c(1:3),
                 v2 = c('Harry', 'Ron', 'Hermione'),
                 v3 = c(70, 50, 100))
                 
> df
  v1       v2  v3
1  1    Harry  70
2  2      Ron  50
3  3 Hermione 100






✏️ colnames() 사용


colnames()를 사용하여 데이터 프레임 df의 변수명을 확인해보겠습니다.

> colnames(df)
[1] "v1" "v2" "v3"



열 이름을 바꾸기 전에 df2라는 복사본을 만들겠습니다. 이렇게 할 경우 원본 데이터 프레임 df는 변하지 않으며 원본이 필요할 때 다시 쉽게 복구할 수 있습니다.


colnames()에 새로운 열 이름을 포함하는 벡터로 열 이름을 바꿔보겠습니다.

# 복사본 만들기
df2 <- df

# 열 이름 변경하기
> colnames(df2) <- c("ID", "Name", "Score")

> df2
  ID     Name Score
1  1    Harry    70
2  2      Ron    50
3  3 Hermione   100


열 이름을 일부만 바꾸고 싶을 경우 아래와 같이 바꿔줄수있습니다.

# 3번째 열 이름 바꾸기
colnames(df2)[3] <- "Math_score"

> df2
  ID     Name Math_score
1  1    Harry         70
2  2      Ron         50
3  3 Hermione        100


# 첫번째랑 두번째 열 이름 바꾸기
colnames(df2)[c(1,2)] <- c("Student_ID", "Firstname")

> df2
  Student_ID Firstname Math_score
1          1     Harry         70
2          2       Ron         50
3          3  Hermione        100





✏️ dplyr 패키지의 rename() 사용

데이터 전처리에 유용한 dplyr 패키지를 사용하여 열 이름을 바꿀 수 있습니다.
dplyr 패키지를 사용하면 더 자유롭고 복잡한 데이터 전처리 작업을 할 수 있습니다.

# dplyr 패키지 설정하고 불러오기
install.packages('dplyr')
library(dplyr)


이번에도 역시 데이터 프레임 복사본 df3를 생성했습니다.
복사본 df3를 rename() 함수를 통해 두 번째 열 이름 v2를 name으로 바꿔보겠습니다.
rename() 함수 안에는 '데이터프레임명, 새 변수명 = 기존 변수명'을 넣어줘야 합니다.

# 데이터 프레임 복사본 만들기
df3 <- df

> df3
  v1       v2  v3
1  1    Harry  70
2  2      Ron  50
3  3 Hermione 100


# 변수명 바꾸기
df3 <- rename(df3, name=v2)


> df3
  v1     name  v3
1  1    Harry  70
2  2      Ron  50
3  3 Hermione 100



728x90
반응형