pku*_*ar0 3 packages lazy-loading r dataset
为什么我们必须先使用data(spam)才能运行lda它?spam是ElemsStatLearn包中的数据集.
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
Run Code Online (Sandbox Code Playgroud)
我们spam[5]甚至可以在运行之前访问data(spam).
这两个电话都lda适合我.ElemStatLearn使用延迟加载数据,因此您无需调用data
> packageDescription("ElemStatLearn")[["LazyData"]]
# [1] "yes"
Run Code Online (Sandbox Code Playgroud)
R包括一系列数据集,主要用于示例.这些数据集中的一些是直接可用的(例如iris或cars),在一些包中它们不是自动可用的,需要调用data将它们附加到当前工作空间,例如meuse从gstat包中.所以您的体验ElemStatLearn是有效的,spam是自动可用的.