함수 내부에 네임 스페이스 변수를 할당하는 데 어려움을 겪고 있습니다. CRAN 패키지 "qcc"를 사용하는이 예제를 고려하십시오 : qcc()
은 플롯을 생성하지만 플롯의 표시 옵션은 qcc.options()
으로 제어됩니다.함수 내부에 네임 스페이스 변수 지정
세계에서 작업 할 때, 모든 것이 괜찮 :
library(qcc)
qcc.options(bg.margin="red") # sets margin background colour, i.e.
# qcc:::.qcc.options$bg.margin is "red"
qcc(rnorm(100), type = "xbar.one") # generates a plot with red margin
그러나 함수의 로컬 환경에서 작업 할 때, qcc
및 qcc.options
다르게 네임 스페이스를 사용하는 것 :
foo <- function(x){
qcc.options(bg.margin=x)
qcc(rnorm(100), type = "xbar.one")
}
foo("green") # generates a default plot with grey margins
Thomas 대단히 감사합니다! 무슨 일이 일어 났는지 알았고 변수를 올바르게 할당하는 방법을 몰랐습니다. 'assignInNamespace'는 작업을 잘합니다. – albifrons
@ user2853399 좋은 소리입니다. 당신이 그 단계를 밟아서는 안되기 때문에 패키지 관리자에게 확실히 말할 것입니다. (왜냐하면'qcc.options'가 실제로하는 일이 명백하지 않기 때문입니다). – Thomas
답변을 얻은 직후이 페이지에 대한 링크가있는 관리자에게 이메일을 보냈습니다. 다시 한번 감사드립니다! – albifrons