无法访问插入符号中的汽车数据集

Unable to access the cars data set in caret

我正在阅读 [应用预测建模] 一书 http://appliedpredictivemodeling.com

从第 56 页开始,说明说,

To illustrate the code, we will take a subset of the cars data set in the caret package. For 2005, Kelly Blue Book resale data for 804 GM cars were collected (Kuiper 2008). The object of the model was to predict the price of the car based on known characteristics. This demonstration will focus on the price, mileage, and car type (e.g., sedan) for a subset of vehicles:

但是,我无法访问数据集。 caret 包中似乎没有 2005 年的汽车数据集。这是我正在使用的代码:

library(AppliedPredictiveModeling)
library(caret)
cars

这 return 是来自 R 数据集包的汽车数据集,而不是 2005 年汽车的 Applied Predictive Modeling 数据集。

接下来我尝试了:

AppliedPredictiveModeling::cars

这 return 是一个错误:“错误:'cars' 不是从 'namespace:AppliedPredictiveModeling' 导出的对象”

同理,代码:

caret::cars

returns 错误:“错误:'cars' 不是从 'namespace:caret' 导出的对象”

作者的 Github 解决方案页面没有关于本章的内容:Github solutions for Applied Predictive Modeling

相同的数据集似乎在 modeldata 包中,但这似乎也不起作用:

library(modeldata)
modeldata::car_prices

returns 错误:“错误:'car_prices' 不是从 'namespace:modeldata' 导出的对象”

以类似的方式:

car_prices

return 错误:找不到对象 'car_prices'

我正在使用以下内容,并更新了以下内容(MacOS、R、RStudio、软件包):

R version 4.2.0 (2022-04-22) -- 《健美操》 版权所有 (C) 2022 R 统计计算基金会 平台:aarch64-apple-darwin20(64 位)

2005年Kelly Blue Book resale data 804 GM汽车的数据集是如何访问的?

有一个默认的 cars 数据集。你需要 over-shadow 它。 data 函数应将数据集加载到工作区中:

 data(cars, package='caret')
str(cars)
#-----------------
'data.frame':   804 obs. of  18 variables:
 $ Price      : num  22661 21725 29143 30732 33359 ...
 $ Mileage    : int  20105 13457 31655 22479 17590 23635 17381 27558 25049 17319 ...
 $ Cylinder   : int  6 6 4 4 4 4 4 4 4 4 ...
 $ Doors      : int  4 2 2 2 2 2 2 2 2 4 ...
 $ Cruise     : int  1 1 1 1 1 1 1 1 1 1 ...
 $ Sound      : int  0 1 1 0 1 0 1 0 0 0 ...
 $ Leather    : int  0 0 1 0 1 0 1 1 0 1 ...
 $ Buick      : int  1 0 0 0 0 0 0 0 0 0 ...
 $ Cadillac   : int  0 0 0 0 0 0 0 0 0 0 ...
 $ Chevy      : int  0 1 0 0 0 0 0 0 0 0 ...
 $ Pontiac    : int  0 0 0 0 0 0 0 0 0 0 ...
 $ Saab       : int  0 0 1 1 1 1 1 1 1 1 ...
 $ Saturn     : int  0 0 0 0 0 0 0 0 0 0 ...
 $ convertible: int  0 0 1 1 1 1 1 1 1 0 ...
 $ coupe      : int  0 1 0 0 0 0 0 0 0 0 ...
 $ hatchback  : int  0 0 0 0 0 0 0 0 0 0 ...
 $ sedan      : int  1 0 0 0 0 0 0 0 0 1 ...
 $ wagon      : int  0 0 0 0 0 0 0 0 0 0 ...

这个函数的存在以及 df 函数的存在是为什么“data”和“df”都不应该用作数据对象名称的原因。 R 解析器能够直接从句法上下文中保留,但错误消息在出现时相当混乱。人类在阅读代码时可能会感到困惑。