考虑以下示例:
q1.func <- function(x) {
num <- (cos(30.2 * x^(1/2)))^2
denom <- (x^0.7) * exp(0.9*x)
num / denom
}
method1 <- function(n) {
x <- runif(n,min = 0, max = 1.7)
f <- q1.func(x)
(1.7) * sum((1/n) * f)
}
draw.graph <- function() {
n <- seq(1,1000,1)
x <- c()
for(i in 1:length(n)) {
x <- append(x, method1(n[i]))
}
plot(n, x, type = "p", xlab = "N",ylab = "value" ,main = "method1 plot",col = "black")
}
我的观点是我希望能够执行:draw.graph(method1(n))。但是 R 不允许我这样做。我不明白为什么会这样???我的最终目标是我能够将 method2 / method3 /.... 作为 draw.graph() 函数的参数传递。但是怎么办???现在,我只对允许我将 method1 作为 draw.graph 函数的参数传递的解决方案感兴趣。请不要让我在 draw.graph 函数中编写 method1,因为我已经知道它有效。但我更感兴趣的是传递 method1 作为 draw.graph 函数的参数。谢谢