3

为什么我们必须使用它data(spam)才能运行lda它?spamElemsStatLearn包中的一个数据集。

library(ElemStatLearn)
library(MASS) # for lda
spam[5] # is ok
spam.lda = lda(spam ~ . , data = spam) # not ok
data(spam)
spam.lda = lda(spam ~ . , data = spam) # ok 

我们spam[5]甚至可以在运行之前访问data(spam)

4

2 回答 2

7

这两个电话lda对我来说都很好。ElemStatLearn使用延迟加载数据,因此您无需调用data

> packageDescription("ElemStatLearn")[["LazyData"]]
# [1] "yes"
于 2012-11-12T08:11:41.297 回答
5

R 包含一系列数据集,主要用于示例。其中一些数据集是直接可用的(例如iriscars),在某些包中它们不是自动可用的,需要调用以data将它们附加到当前工作空间,例如meusegstat包中。所以你的体验ElemStatLearn是有效的,spam是自动可用的。

于 2012-11-12T07:32:01.400 回答