错误消息 - 为什么显示“未找到对象”?

发布于 2025-01-11 16:43:03 字数 886 浏览 0 评论 0原文

我对 R 和 stackoverflow 非常陌生,所以如果我以某种方式违反了任何礼仪,我会提前道歉。

到目前为止,我只按照书籍教程输入了几行代码。这本书是 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

我不确定这是怎么可能的。 “年龄”是在cherryBlossom2008中。我的书说,如果我在使用“mean”命令时未能定义“data”,我会收到该错误消息,但正如你所看到的,我确实定义了“data”,所以我没有了解我如何定义“年龄”。

I'm very new to R and stackoverflow, so I apologize ahead of time if I'm breaking any etiquette somehow.

I have only typed a few lines of code so far, following a book tutorial. The book is Statistical Modeling: A Fresh Approach, printed in 2012, so I'm not sure what version of R it has. I am using R 4.0.0.

All I have written so far is:

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

this produces:

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

Next I typed:

mean(age, data=cherryBlossom2008)

I immediately get an error message that says:

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

I'm not sure how this is possible. 'age' is in cherryBlossom2008. My book says that I would get that error message if I failed to define "data" when using the "mean" command, but as you can see I did define "data", so I don't understand how else I would define 'age'.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花开半夏魅人心 2025-01-18 16:43:03

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

  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

然而,这个选项不太可能。

I haven't referred the book so I may be loosing some context here but based on your explanation and description I think there are few possibilities here.

  1. Book is wrong and this is some kind of mistake.

mean is an internal command. You can look at the documentation (?mean) and notice there is no data argument defined in mean.

To get mean you can use -

mean(cherryBlossom2008$age, na.rm = TRUE)
  1. You are supposed to use mean command present in some other library and not base.

  2. You have to define your own mean function and not use the internal one.

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

In which case - mean(age, data=cherryBlossom2008) will work.

For eg - with mtcars dataset -

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

However, this option is very unlikely.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文