如何传递变量作为向量? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我想在函数内部以向量的形式使用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)

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

有什么想法怎么做?

r function parameter-passing
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.