错误消息 - 为什么显示 "object not found"?

Error message - why does it say "object not found"?

我是 R 和 Whosebug 的新手,所以如果我以某种方式违反任何礼节,我会提前道歉。

到目前为止,我只是按照书籍教程输入了几行代码。这本书是 Statistical Modeling: A Fresh Approach,2012 年出版,所以我不确定它有什么版本的 R。我正在使用 R 4.0.0.

到目前为止我写的是:

cherryBlossom2008 <- read.csv("Cherry-Blossom-2008.csv")
names(cherryBlossom2008)

这产生:

[1] "position" "division" "total" "name" "age" "place" "net" "gun" "sex"

接下来我输入:

mean(age, data=cherryBlossom2008)

我立即收到一条错误消息:

Error in mean(age, data = cherryBlossom2008) : object 'age' not found

我不确定这怎么可能。 'age' 是cherryBlossom2008。我的书上说,如果我在使用“mean”命令时未能定义“数据”,我会收到该错误消息,但正如您所见,我 did 定义了“数据”,所以我不明白我还会如何定义 'age'.

我没有提到这本书,所以我可能会在这里失去一些背景,但根据你的解释和描述,我认为这里的可能性很小。

  1. 书错了,这是某种错误。

mean 是一个内部命令。您可以查看文档 (?mean) 并注意在 mean.

中没有定义 data 参数

要获得 mean 你可以使用 -

mean(cherryBlossom2008$age, na.rm = TRUE)
  1. 你应该使用 mean 命令存在于一些其他库而不是基础。

  2. 您必须定义自己的 mean 函数,而不是使用内部函数。

mean <- function(col, data) {
  base::mean(data[[deparse(substitute(col))]], na.rm = TRUE)
}

在这种情况下 - mean(age, data=cherryBlossom2008) 将起作用。

例如 - 使用 mtcars 数据集 -

mean(mpg, data = mtcars)
#[1] 20.09062

但是,这个选项的可能性很小。