는 다음과 같이 호출
건물() 호출 prgramatically이야
my_simplecode <- "mtcars"
call("str", as.name(my_simplecode))
#> str(mtcars)
문제는 괄호 또는 괄호와 같은 일부 기호 코드에있을 때 as.name()
이 역 따옴표를 도입한다는 것입니다 :
my_code <- "mtcars[, 1:2]"
call("str", as.name(my_code))
#> str(`mtcars[, 1:2]`)
그리고이 호출은 평가할 수 없습니다. str(mtcars[, 1:2])
에 대한 전화를해야하지만 따옴표를 제거 할 수 없습니다. quote(), enquote(), parse(), deparse(), expression() 등의 모든 조합을 시도했습니다. 성공없이.
my_code
은 일 수 있습니다.입니다. 변수 이름, 또는 더 일반적으로 함수 호출, 파이프 등을 포함한 모든 표현식.
이것은 Using call() with namespace address (:: or :::)과 유사하지만 기능 이름에 문제가있었습니다.
미리 감사드립니다.
는'my_code'는 이름이 아닙니다. 그것은 함수 호출입니다. 당신은'parse'를 사용할 필요가 있습니다. 그러나 fortune 패키지의 유명한 인용문을 염두에 둡니다 :'parse'가 답이라면 틀린 질문을하고있는 것입니다. – Roland
롤랜드, 고마워요,하지만 파스는 내가 ("str", 구문 분석 (텍스트 = my_code)) 호출하면 이후, 나는 얻을 것이다 : str (expression (mtcars [, 1 : 2])). 또한 my_code는 첫 번째 예제에서와 같이 이름을 포함하여 무엇이든 될 수 있습니다. –
당신이하고 싶은 것과 그 이유를 더 자세히 설명해야합니다. 문자열을 구문 분석해야합니다. 문제는 이제 다음에해야 할 일이지만 목표를 충분히 지정하지 않았습니다. – Roland