【发布时间】:2015-06-26 11:06:39
【问题描述】:
我有一个如下所示的矩阵:
> train.y.class[1:2,]
Class_1 Class_2 Class_3 Class_4 Class_5 Class_6 Class_7 Class_8 Class_9
[1,] 1 0 0 0 0 0 0 0 0
[2,] 0 0 0 0 1 0 0 0 0
然后它被传递到 R 函数tune,它将对可能的模型参数执行网格搜索。为了做到这一点,它会定期对这些数据进行切片并将其传递给模型。这些切片是它开始分解的地方;它做了类似的事情
do.call(model, x, y[1:n], ...)
... 而y[1:n] 返回一个包含 n 个元素的向量,而不是所需的 n x 9 矩阵。也就是说,我需要一些看起来像上面的矩阵的东西,但我得到的是这样的东西:
> train.y.class[1:2]
[1] 1 0
由于我无法访问此库代码,我的问题是是否可以将我的矩阵重新格式化为一个结构,该结构允许y.new[1:n] 形式的切片导致与y.old[1:n,] 相同,即 nx 9 矩阵.一个聪明的 hack,如果你喜欢的话。
如果答案是否定的,您能否提出替代解决方案?我已经尝试了替代数据表示(不是矩阵)和模型包装器的组合,但我还没有完全掌握重新格式化参数然后调用包装函数的窍门。
【问题讨论】: