漩涡"Programming E"练习 9:找不到功能"func"



使用swirl"编程E"练习9.

55%的练习进展并尝试使用该功能:

evaluate <- function(func, dat){
 func(dat)
}

继续获取错误消息:

Error in func(dat) : could not find function "func"

我假设您正在收到此错误消息,因为您没有为evaluate中的func参数提供函数。使用您的功能:

evaluate <- function(func, dat) {
  func(dat)
}

我们可以通过给出func参数来重现错误消息,除了函数以外的任何内容:

evaluate(1, 2)

Error in func(dat) : could not find function "func"

但是,如果我们提供功能,则evaluate应该有效:

evaluate(function(x) {x + 1}, c(1, 2))
# [1] 2 3

或使其更加明确:

evaluate(func = function(x) {x + 1},
         dat = c(1, 2))
# [1] 2 3

我也在漩涡中遇到了这个错误。如果我们确实在谈论相同的错误,那么这是上下文和产生错误的代码:

| Let's take your new evaluate() function for a spin! Use evaluate to find the
| standard deviation of the vector c(1.4, 3.6, 7.9, 8.8).
> evaluate(c(1.4,3.6,7.9,8.8))
Error in func(dat) : could not find function "func"

对于仍在学习的人来说,并不是那么明显的错误是,这不是提供使用的功能。由于" func"本身不是实际功能,因此我们需要提供标准偏差,以用于评估功能。以下是我在本练习中使用的,SD是标准偏差功能,以获取所需的结果并继续课程:

> evaluate(sd,c(1.4,3.6,7.9,8.8))
[1] 3.514138
| Perseverance, that's the answer.

这为我们的evaluate((函数提供了" func"的函数sd((,而" dat"的c((向量。

最新更新