图数据的MCL(Markov聚类算法)在R中的实现
我正在尝试使用R中的马尔可夫聚类算法对一个图形数据集进行聚类。 我跟随thorugh学习了很多教程,包括 ,以及其他许多 我的数据集如下所示:图数据的MCL(Markov聚类算法)在R中的实现,r,graph,data-visualization,graph-theory,mcl,R,Graph,Data Visualization,Graph Theory,Mcl,我正在尝试使用R中的马尔可夫聚类算法对一个图形数据集进行聚类。 我跟随thorugh学习了很多教程,包括 ,以及其他许多 我的数据集如下所示: V1 V2 V3 1 0 1 1 2 0 2 1 3 1 2 1 4 2 3 2 5 2 4 2 6 2 5 3 7 3 6 4 8 3 7 5 9 3 8 5 10 4 9 6 11 4 10 4 12 4 11 5 13 4 12 7 14 4 13
V1 V2 V3
1 0 1 1
2 0 2 1
3 1 2 1
4 2 3 2
5 2 4 2
6 2 5 3
7 3 6 4
8 3 7 5
9 3 8 5
10 4 9 6
11 4 10 4
12 4 11 5
13 4 12 7
14 4 13 4
V1和V2是节点,V3是连接的重量
每个教程都提到创建相邻矩阵。当我尝试他们的代码时,它总是抛出越界错误。
我假设这是因为列和行的参数不同。但没有什么真正有意义
即使创建一个相邻矩阵也是一项挑战,更不用说实现MCL了
有什么想法吗?我错过了什么
更新:
以下是我正在尝试的代码:
df <- read.table(header=T, stringsAsFactors=F, text=" V1 V2 V3
1 0 1 1
2 0 2 1
3 1 2 1
4 2 3 2
5 2 4 2
6 2 5 3
7 3 6 4
8 3 7 5
9 3 8 5
10 4 9 6
11 4 10 4
12 4 11 5
13 4 12 7
14 4 13 4")
现在使用“重塑”将其转换为相邻表:
m <- as.matrix(dcast(df, V1 ~ V2, value.var = "V3", fill=0))
它抛出错误,显示:
Error in dimnames(x) <- dn :
dimnames(x)中的
错误4 10是什么?这两个都是节点?你能发布错误和你要的代码吗trying@Hardikgupta,是的,两个都是节点。您会收到此错误,因为现在在矩阵m
中有5行,而有13列。这就是为什么V1和V2中存在的维度不匹配元素不一致的原因,从某种意义上说,两列中存在的唯一元素不一致。V1中不存在节点10、11等,因此元素数量较少,因此不匹配
m <- as.matrix(dcast(df, V1 ~ V2, value.var = "V3", fill=0)),
row.names(m) <- colnames(m)
Error in dimnames(x) <- dn :