본문 바로가기
R 프로그래밍/R basic

데이터 프레임의 열 이름 바꾸기

by 찐남 2022. 1. 9.
Cookbook for R을 기반으로 하여 작성하였습니다.

 

 

데이터 프레임의 열 이름을 바꾸려고 합니다. 어떻게 처리하면 될까요?

 

 

3개의 열이 있는 샘플 데이터 프레임으로 시작해 볼게요.

d <- data.frame(alpha=1:3, beta=4:6, gamma=7:9)
d

names(d)  

 

가장 간단한 방법은 plyr 패키지에서 rename()을 사용하는 것이에요.

library(plyr)
rename(d, c("beta"="two", "gamma"="three"))

 

plyr 패키지에 의존하고 싶지 않다면 R의 내장 함수로 다음을 수행할 수도 있어요.

이것들은 d를 직접 수정하기 때문에 결과를 다시 d에 저장할 필요가 없어요.

# name() 함수로 열 이름 바꾸기: "beta"를 "two"로 변경
names(d)[names(d)=="beta"] <- "two"
d

# 위치별로 이름을 바꿀 수도 있지만 나중에 데이터가 변경될 수 있는 경우 위험합니다.
# 열의 수나 위치가 변경되면 잘못된 데이터가 발생할 수 있어요.

# names 벡터에서 위치로 이름 변경하기: 3번째 항목인 "gamma"을 "three"로 변경
names(d)[3] <- "three"
d

 

R의 문자열 검색 및 바꾸기 기능을 사용하여 열의 이름을 바꾸는 것도 가능해요.

알파 주변의 ^ 및 $ 는 전체 문자열이 일치하는지 확인하기 위한 것입니다.

^ 및 $이 없으면 "alphabet"이라는 열이 있으면, 이것은 "onebet"으로 변경돼요.

names(d) <- sub("^alpha$", "one", names(d))
d

# 모든 열에서 "t"의 모든 인스턴스를 "X"로 변경
names(d) <- gsub("t", "X", names(d))
d

# gsub()는 각 열 이름에서 패턴의 모든 인스턴스를 대체
# sub()는 각 열 이름의 첫 번째 인스턴스만 대체합니다.

 

반응형

댓글