left_join 뒤에 변수 var1.x var2.x
... 및 var1.y var2.y
이 있습니다. 이 파일의 이름을 var1_tot var2_tot
및 var1_part var2_part
으로 변경하고 싶습니다. 이 작업을 수행 할 수 있지만 names
과 문자열 바꾸기 기능을 결합하면됩니다. 이것은 dplyr
의 rename
함수와 ends_with
함수를 사용하여 dplyr
체인의 일부로 수행 할 수 있습니까?dplyr의 변수 이름 바꾸기
1
A
답변
4
좋아요? dt
은 예제 데이터 프레임입니다. dt2
이 최종 출력입니다. 사실
mydf %>% rename_at(vars(ends_with(".x")),funs(str_replace(.,".x","_total")))
에서
library(dplyr)
dt <- data_frame(var1.x = 1:3, var2.x = 4:6, var1.y = 7:9, var2.y = 10:12)
dt2 <- dt %>%
rename_at(vars(ends_with(".x")), funs(sub(".x", "_tot", .))) %>%
rename_at(vars(ends_with(".y")), funs(sub(".y", "_part", .)))
dt2
# A tibble: 3 x 4
var1_tot var2_tot var1_part var2_part
<int> <int> <int> <int>
1 1 4 7 10
2 2 5 8 11
3 3 6 9 12
-1
대신 내가 stringr``에서`str_replace`를 사용하여 시도`sub`의
+0
당신의 원래 질문은'rename'과'dplyr'에서'ends_with'에 관한 것입니다. 'stringr'에서'str_replace'를 사용할 특별한 이유가 있습니까? 'sub'를'str_replace'로 바꾸는 것은 근본적으로 내 솔루션의 성격을 바꾸지 않습니다. – www
일을했고, 그것은 작동하지 DIT. –
'stringr'을 사용하지 않았습니다. 그래서 당신의 요점은 무엇입니까? – www
@ErichNeuwirth'str_replace'를 사용하기 위해 인수의 순서를 조정 했습니까? –