r - 如何将值向量传递给函数?
问题描述
我在 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 的单个值(例如 x=300),我的函数将毫无问题地评估;但是,我想在不同的 X 值下测试我的函数,而不必每次都调用该函数。
x <- c(400,500)
CV_concentration(x,cv.tol.raw,A,B,C,D)
上面的代码显然没有返回值向量。如何返回值向量作为输出?请给我一些指示。我尝试了各种应用功能,do.call all 无济于事。谢谢。
解决方案
如果x
是一个num vector
sapply(x, CV_concentration)
如果x
是数据框中的一列df
sapply(df$x, CV_concentration)
推荐阅读
- azure-active-directory - Keycloak Azure AD - SAML 2.0 身份提供程序错误
- azure - Azure Pipelines + Maven:无法找到可执行文件:'mvn'
- reactjs - create-react-app 不生成 public 和 src 文件夹
- javascript - 如何通过在 jQuery 中引用其内容和数组来正确设置选择器
- css - rmdformats::material 改变绿色和灰色的配色方案
- django - 如何在自定义管理更改列表中使用 list_filter 中的属性方法?
- python - 当 n 大于 20 时,它会打印“奇怪”,但应该打印“不奇怪”
- c# - 如何将集合转换为值元组?
- angular - 如何将 http 模块从 angular 4 更改为 angular 7
- javascript - 使用javascript通过鼠标悬停将类添加到元素