HR.Rates中的错误$ y:$运算符对原子向量无效

时间:2015-02-24 22:08:47

标签: r rstudio

希望有人能提供帮助,

我正在通过Max Marchi和Jim Albert分析“使用R分析棒球数据”,然而在第45页上提到保存数据集我得到了错误:

Error in HR.Rates$y : $ operator is invalid for atomic vectors

此错误是对代码的响应:

Mantle <- cbind(Age, HR, AB, Rates=HR.Rates$y)

我该如何解决这个问题? 我只是抓住了R,这本书让这件事变得容易,直到发生这种情况。

感谢。

1 个答案:

答案 0 :(得分:0)

从谷歌图书搜索中我可以看出,你应该定义

hr.rates <- function(age, hr, ab) {
    rates <- round(100*hr/ab,1)
    list(x=age, y=rates)
}

您应该运行的代码是

HR <- c(13,23,21,27,37,52,34,42,31,40,54)
AB <- c(341,549,461,543,517,533,474,519,541,527,514)
Age <- 19:29
HR.Rates <- hr.rates(Age, HR, AB)
Mantle <- cbind(Age, HR, AB, Rates=HR.Rates$y)

效果很好。您可能在hr.rates的定义中出错,或者您错误地调用了它。