数据从R到Matlab
我用R创建了一个邻接矩阵,现在我想在Matlab中处理它(CSV文件包含数据从R到Matlab,r,matlab,save,adjacency-matrix,R,Matlab,Save,Adjacency Matrix,我用R创建了一个邻接矩阵,现在我想在Matlab中处理它(CSV文件包含起始节点,结束节点和权重) 然后,我得到一个包含3.19亿个元素的大型dgc矩阵。我无法使用R.matlab包保存此文件。知道如何解决这个问题吗?HDF5文件怎么样?我看到有R库用于编写HDF5,而HDF5是由MATLAB本机支持的,HDF5可以处理非常大的数据集。我确实安装了该软件包,但我无法将数据写入文件(h5write(adj))你知道怎么回事吗?谢谢你的评论!h5write(adj,file=“adj.h5”)我是否
起始节点
,结束节点
和权重
)
然后,我得到一个包含3.19亿个元素的大型
dgc
矩阵。我无法使用R.matlab
包保存此文件。知道如何解决这个问题吗?HDF5文件怎么样?我看到有R库用于编写HDF5,而HDF5是由MATLAB本机支持的,HDF5可以处理非常大的数据集。我确实安装了该软件包,但我无法将数据写入文件(h5write(adj))你知道怎么回事吗?谢谢你的评论!h5write(adj,file=“adj.h5”)我是否正确理解了这个问题-adj
在R中有一个稀疏数组(319e6个元素,但大多数为零,因此占用的内存要少得多),您希望将其保存到磁盘并加载到Matlab中?您可以在Matlab中直接读取csv,并使用函数将其转换为稀疏矩阵
a = read.csv(file.choose())
a[, 1] = as.character(a[,1])
a[, 2]=as.character(a[,2])
a = as.matrix(a)
g = graph.edgelist(a[,1:2])
E(g)$weight = as.numeric(a[,3])
g2 = graph.data.frame(a)
adj = get.adjacency(g, attr='weight', sparse = TRUE)