2016-09-02 2 views
0

아래 코드.R에서 입력 변수 이름을 얻는 방법

func <- function(x){ 
print(paste(substitute(x))) 
} ; 
func(x[]) 

내가 FUNC를 실행하면 (x)를, 코드 인쇄 "X"알아,하지만 난 ([] x)의 FUNC처럼 실행하거나 FUNC (엑스 $ y를)는 인쇄 할 수없는 경우 " x [] "또는"x $ y "가 올바르게 출력됩니다. 올바른 입력 문자열을 얻으려면 어떻게해야합니까? 고맙습니다.

비슷한 예제는 plot() 함수와 같습니다. plot (x $ y)를 사용하면 ylab은 "x $ y"입니다. plot (x [])을 사용할 때 ylab은 "x []"입니다. 줄거리 (1:20)를 사용할 때, ylab은 "1:20"입니다.

+0

'인쇄 (deparse은 (대용품 (x가))) '의 상세 부분을 참조

> func(x[1]) [1] "x[1]" > func(x[]) [1] "x[]" 
'? substitute' 제공

func <- function(x){ deparse(substitute(x)) } 

rawr

답변

1

deparse도 사용하십시오.