Как заставить вектор работать как аргумент в моей функции в r? - PullRequest
2 голосов
/ 20 октября 2019

Я пытаюсь заставить мою функцию (в 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 »не найден».

1 Ответ

4 голосов
/ 21 октября 2019

Это должно работать:

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...