我试图让我的函数(在 r 中)使用二元素向量作为参数,但是当我使用输入运行该函数时,其中一个元素“未找到”。
我尝试使用占位符作为参数,并稍后在函数中定义占位符。我还尝试直接使用连接值作为参数。
mse.func <- function(ya.vctr, N=gmp$pop, Y=gmp$pcgmp){
ya.vctr <- c(y, a)
mean.sq.er <- mean((Y - (y * (N^a)))^2)
return(mean.sq.er)
}
mse.func(c(5000, 0.10))
我期待一个数值,但 mse.func(c(5000, 0.10)) 返回一个错误,指出“未找到对象 'y'”。
最佳答案
这应该有效:
mse.func <- function(ya.vctr, N=gmp$pop, Y=gmp$pcgmp){
mean.sq.er <- mean((Y - (ya.vctr[1] * (N^ya.vctr[2])))^2)
return(mean.sq.er)
}
mse.func(c(5000, 0.10))
或者,一个更简单的选项是(尽管它不接受向量作为输入,因此它不回答问题):
mse.func <- function(y, a, N=gmp$pop, Y=gmp$pcgmp){
mean.sq.er <- mean((Y - (y * (N^a)))^2)
return(mean.sq.er)
}
mse.func(5000, 0.10)
关于r - 如何让向量作为 r 函数中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58477260/