dplyr의 이름 바꾸기 함수는 따옴표없는 변수 이름으로 새 열 이름을 전달해야합니다. 그러나 나는 전달 된 인수에 문자열을 붙여 넣어서 열 이름을 구성하는 함수를 가지고 있으므로 문자열이기도합니다. 예를 들어dplyr의 이름 바꾸기 함수에서 문자열로 새 열 이름을 입력하십시오.
내가 '새로운'열 이름이 원하는 반면 나는
a new
1 1 4
2 2 5
3 3 6
를 얻을 나는이
df <- data.frame(a = 1:3, old = 4:6)
myFunc(df, 'x')
를 실행하면 내가이 기능
myFunc <- function(df, col){
new <- paste0(col, '_1')
out <- dplyr::rename(df, new = old)
return(out)
}
있었다라고 내가 만든 문자열 ('x_1'), 즉
a x_1
1 1 4
2 2 5
3 3 6
어쨌든이 작업이 수행되고 있습니까?
[dplyr 0.3' 발표 (http://blog.rstudio.org/2014/10/13/dplyr-0-3-2/)에서 : "이제 dplyr로 프로그램 할 수 있습니다 - 비표준 평가 (NSE)를 사용하는 모든 함수도'_' [...]로 끝나는 표준 평가 (SE) 트윈을가집니다 [...] 각 함수의 SE 버전은 비슷한 인수를 갖지만 명시 적으로 "인용"해야합니다. " 따라서, 여기서'rename_'이 유용 할 수 있는지 확인하십시오. – Henrik
고마워, 그게 알아두면 좋지만 실제로이 경우 아무 것도 바뀌지는 않아. 전달하는 열이 이전 열 이름 인 경우 작동하지만 rename_을 사용하도록 위 함수를 변경하고 따옴표로 묶음을 사용하면 여전히 동일하게 나타납니다 – user1165199
@ user1165199'colnames (df) [colnames (df) %에서 "old"] <- paste0 ("x", "_")'(필요한 경우 함수에서) 쉽게 이름 벡터를 대체 할 수 있습니다. – akrun