如何更改函數參數名稱。對於使用替代品的例子,我可以改變函數的參數值或函數名稱:更改函數參數名稱
substitute(quote(F(x= A)), list(A= quote(B), F= quote(G)))
## result
quote(G(x = B))
但這不起作用:
substitute(quote(F(x= A)), list(x= quote(y)))
## result
quote(F(x = A))
# EDIT(@Joran這裏是真實的例子,也許不那麼真實但非常接近,我在做什麼)
#
library("multcomp")
data("mtcars")
mtcars$gear <- factor(mtcars$gear)
mtcars$cyl <- factor(mtcars$cyl)
xv <- c("gear","cyl")
for(v in xv){
fo <- as.formula(paste("mpg",v,sep="~"))
fit <- lm(fo,data=mtcars)
print(eval(substitute(summary(glht(fit,linfct= mcp(vn="Dunnett"))),list(vn=v))))
}
我不會做任何。你真的想做什麼?通常在R中,你可能會做'foo < - 'G'; bar < - 'x'; do.call(foo,bar)'選擇一個函數及其基於字符串對象的參數。 –
你真的想要做什麼? – joran
@ Carl&Joran說了什麼(「你真的想做什麼?!」)。我會通過'formals()'自己改變參數... –