【R】[dplyr] rename()에서 변수 사용

2783 단어 dplyrRRStudio

dplyr::rename(new = old)에서 변수를 사용할 때



몬다이


dplyr::rename(new=old) 를 함수 등에서 사용할 때 new 에 변수를 사용하고 싶은 장면이 있습니다.

rename.R
varname <- "new_varname"
df <- iris

df %>% 
  rename(varname = Sepal.Length) %>% 
  colnames()

이 경우 varname가 변수 ( "new_varname")가 아닌 문자열의 "varname"으로 취급됩니다.

[1] "varname""Sepal.Width""Petal.Length""Petal.Width""Species"

해결책



특수 대입 연산자를 사용합니다.
Pass a variable to dplyr "rename" to change columnname

rename.R
varname <- "new_varname"
df <- iris

df %>% 
  rename(!!varname := Sepal.Length) %>% 
  colnames()



메모



이전의 기사에서는 이하와 같이 쓰고 있었습니다만, rename_() is deprecated. 라는 것이므로 갱신했습니다.

rename_ ()을 사용하면 변경하기 전에 변수 이름에 함수를 사용하여 액세스 할 수 있습니다.

좋은 웹페이지 즐겨찾기