2013-08-27 75 views
0

Trainsetb在这里表示什么意思?我不认为这是列表名称,但一直无法理解它指定的内容或目的。R创建列表

> z=as.integer(4,5, 6) 
> class(z) 
[1] "integer" 
> a=list(z) 
> class(a) 
[1] "list" 
> b=list(Trainsetb = z) 
> class(b) 
[1] "list" 
> names(b) 
[1] "Trainsetb" 
> names(a) 
NULL 
> a 
[[1]] 
[1] 4 

> b 
$Trainsetb 
[1] 4 
> b$Trainsetb 
[1] 4 
> Trainsetb 
Error: object 'Trainsetb' not found 

我正在学习使用book的数据挖掘。我正在使用插页train函数。在train功能存在trainControl参数,它被定义如下:

ctrl <- trainControl(method = "LGOCV", 
        summaryFunction = twoClassSummary, 
        classProbs = TRUE, 
        index = list(TrainSet = pre2008), 
        savePredictions = TRUE) 

我想知道作者为什么没有定义索引index = list(pre2008)

回答

3

您可以定义Trainsetbb=list(Trainsetb = z)的含义。有关列表语法的详细信息,请参见?list:这是使用tag = value定义列表的示例。

您现在可以使用b$Trainsetbb[["Trainsetb"]]访问列表中对应于Trainsetb的值。

稍后访问此应用程序的便利可能是为什么作者在创建列表时使用了标记。

+0

'pre2008'是整数的向量。这里只使用一个“重新采样”。在大多数情况下,我们将有一组重复采样,它们由几个不同的整数向量表示,我们需要一种方法来传入几组向量(它们的长度可能不相同)。列表是这样做的最自然的方式。 – topepo