如何将向量数组传递给R中的函数

时间:2019-03-02 02:03:13

标签: r

我创建了一个计算表达式的函数。我不确定如何将子向量的向量传递到函数中以使用不同的输入进行计算。 当我运行下面的代码时,它返回“ numeric(0)”而不是3个不同的值。

function_b <- function(x) {
  z = (x[1] ^ 2 + x[2] ^ 2) / (2 * x[1] * x[2])
  return(z)
}

v_2 <- c(c(1.1, 2.3), c(1.7, 5.2), c(6.23, 7.41))
function_b(v_2)

1 个答案:

答案 0 :(得分:1)

R中没有索引0

function_b <- function(x) {
  z = (x[1] ^ 2 + x[2] ^ 2) / (2 * x[1] * x[2])
  return(z)
}

v_2 <- list(c(1.1, 2.3), c(1.7, 5.2), c(6.23, 7.41))
sapply(v_2,FUN = function_b)
[1] 1.284585 1.692873 1.015081