2016-09-05 7 views
1

많은 열의 이름을 바꾸고 싶습니다. 이제 각 열에 대한 문장을 다시 작성합니다.함수 프로그래밍을 사용하여 dplyr로 열 이름 바꾸기

df <- data.frame(col1 = 1:4, col2 = c('a', 'b', 'c', 'd'), col3 = rep(1,4)) 
df %>% 
    rename(col1 = col1_new) %>% 
    rename(col2 = col2_new) %>% 
    rename(col3 = col3_new) 

이름 바꾸기 문의 중복을 피하려면 어떻게해야합니까? R이있는 함수형 프로그래밍을 사용하는 솔루션이 있습니까?

+1

rename은 여러 개의 vars와 함께 작동합니다. '아이리스 %> 이름 바꾸기 (petal_length = Petal.Length, petal_width = Petal.Width)' – phiver

답변

6

그것은 모든 단계가 %>% 범위 내에서 실시 할 필요가로 rename

df %>% 
    setNames(., paste0(names(.), "_new")) 
# col1_new col2_new col3_new 
#1  1  a  1 
#2  2  b  1 
#3  3  c  1 
#4  4  d  1 

은 제한 등이없는 경우보다 setNames를 사용하는 것이 더 쉽습니다, 더 쉽고 일반적인 방법은

입니다
colnames(df) <- paste0(colnames(df), "_new")