在R中使用dgCMatrix作为kcca

时间:2014-03-29 01:38:18

标签: r sparse-matrix

我正在尝试在R中使用内核规范相关分析,其用法是:

**## S4 method for signature 'matrix'**
kcca(x, y, kernel="rbfdot", kpar=list(sigma=0.1),
     gamma = 0.1, ncomps = 10, ...)

Arguments
x a matrix containing data index by row
y a matrix containing data index by row

所以我的x和y矩阵非常大且稀疏,它们属于具有6个插槽的类'dgCMatrix'。我是R的新手,我很困惑如何使用这个类的矩阵作为kcca方法的输入矩阵。

当我按原样使用它们时:

kcca(Data1_mat, Data2_mat, kernel="rbfdot", kpar=list(sigma=0.1),
     gamma = 0.1, ncomps = 10)

我收到此错误: x * x中的错误:二元运算符的非数字参数

请帮忙。

由于

1 个答案:

答案 0 :(得分:1)

是的,确实:kcca()包目前只能使用传统的R矩阵(密集)。

对代码进行一些检查,并且一个示例确实表明确实可能不需要进行太多更改,并且增强kernlab包以使用Matrix包中的sparseMatrix对象。

值得注意的是kernlab可以用来使“kernelMatrix”对象本身稀疏。