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()는 각 열 이름의 첫 번째 인스턴스만 대체합니다.
반응형
'R 프로그래밍 > R basic' 카테고리의 다른 글
factor level 이름 변경하기 (0) | 2022.01.06 |
---|---|
정렬(sorting)하기 (0) | 2022.01.05 |
데이터 요약(Data summary) (0) | 2021.12.31 |
[R 그래픽스]정당별 국회의원 의석 수 그래프로 표현하기 (0) | 2021.12.19 |
[R 그래픽스] 워드 클라우드(Word Cloud) 생성하기 (0) | 2021.10.31 |
댓글