r - 如何让向量作为 r 函数中的参数?

标签 r function vector

我试图让我的函数(在 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/

相关文章:

r - 找到所有相邻的组合

r - 使用 R 的 ggplot2 定义日期时间的第一个轴断点

r - 如何将函数应用于 data.frame 中的行对,类似于 diff?

r - 使用 ggplot2 生成雷达图

r - 将 `lm` 结果传递给 `stepAIC` 在脚本中工作,在函数内部失败

r - 从另一个随机选择其一些值但按顺序且所选值之间的距离最小的向量创建一个向量?

c++ - 帮助小型 C++ 游戏

R Shiny 仪表板+ highcharter : arguments are not named in hc_add_series

C++ 将 vector 传递给重载类 - 有些调用语句有效,有些则无效。

Javascript:如果我已经在使用外部函数,为什么还需要定义自调用匿名函数?