0

我正在尝试在R. 我有 9 个自变量和 1 个二进制因变量。

作为光谱聚类的第一步,我需要根据给定的数据集创建一个图(我有大约 1000 个观察值)。因为我刚刚开始,我并不真正关心用于创建图形的方法,但如果它使用 k-最近邻会更好。

我在创建图表nng的包中遇到了一个函数。cccd我使用了以下内容:

knnGraph<-nng(as.matrix(data[2:10]),k=3)

这运行良好,除了当我尝试使用 可视化图形时plot(knnGraph),我收到以下错误:

Error in layout.norm(layout, -1, 1, -1, 1) : 
  `layout' should have 2 or three columns

我不知道如何继续,任何帮助将不胜感激。我还尝试找到在 R 中实现光谱聚类的分步教程,但找不到。任何指向任何此类资源的指针也将不胜感激。

4

1 回答 1

0

似乎 nng 至少需要一个二维矩阵。这个例子似乎运行

library(cccd)
data<-runif(50)
knnGraph<-nng(matrix(data[2:10], ncol=2),k=3)
plot(knnGraph)

请注意,我更改as.matrixmatrix并添加nol=2了第二个维度。我以前从未使用过该函数或该包,所以我不知道该参数中它真正想要的是什么,但看起来返回的 9x1 矩阵as.matrix(data[2:10])不会削减它。

于 2014-05-07T22:21:13.793 回答