如何传递变量以充当矢量?

时间:2019-03-20 07:53:36

标签: r function parameter-passing

我想在函数内使用3个变量,其形式为矢量,例如变量:L(长度),B(宽度),H(高度)

代替通常的情况:

volume <- function(D,B,H) {
  vol <- H - ((5*7.2*B) / 1.7*D)
  return(vol)
}

volume(7,8,9)

我想传递x = c(D,B,H),这是一个由变量D,B,H组成的向量:

volume <- function(x) {
  x <- c(D,B,H) # This is incorrect 
  vol <- H - ((5*7.2*B) / 1.7*D)
  return(vol)
}

H <- 7
B <- 8
D <- 1
volume(x)

,当我调用该函数时,将接受一些如上所示的输入值,并返回一个音量值。

任何想法该怎么做?

1 个答案:

答案 0 :(得分:2)

您可以使用命名列表:

volume <- function(x) {
  vol <- x$H-((5*7.2*x$B) / 1.7*x$D)
  return(vol)
}

H <- 7
B <- 8
D <- 1
volume(list(H = H, B = B, D = D))
[1] -162.4118