Я написал следующую функцию в R. Вывод функции представляет собой коэффициент вариации (стандартное отклонение / среднее).
CV_concentration <- function(x,cv.tol.raw,A,B,C,D){
y_at_x <- (A-D)/(1+(x/C)^B)+D
y_low <- y_at_x * (1-cv.tol.raw/sqrt(2))
y_high <- y_at_x * (1+cv.tol.raw/sqrt(2))
x_at_ylow <- C*((A-D)/(y_low-D)-1)^(1/B)
x_at_yhigh <- C*((A-D)/(y_high-D)-1)^(1/B)
x_range <- c(x_at_ylow, x_at_yhigh)
cv_con <- sd(x_range)/mean(x_range)
return(cv_con)
}
Если бы я присвоил значение по умолчанию всем моим аргументам, кроме x, моя функция была бы следующей:
CV_concentration <- function(x,cv.tol.raw=0.1,A=100,B=5000,C=5000,D=350000)
Если бы я тогда оценил одно значение X (скажем, х = 300), моя функция оценила бы без проблем; тем не менее, я хочу протестировать свою функцию при разных значениях X, не вызывая функцию каждый раз.
x <- c(400,500)
CV_concentration(x,cv.tol.raw,A,B,C,D)
Приведенный выше код явно не возвращает вектор значений. Как я могу вернуть вектор значений в качестве вывода? Пожалуйста, дайте мне несколько советов. Я пробовал различные функции и делаю все безрезультатно. Благодаря.