【发布时间】:2012-03-23 01:40:00
【问题描述】:
这是对现有问题的扩展:Convert table into matrix by column names
我使用的是最终答案:https://stackoverflow.com/a/2133898/1287275
原始的 CSV 文件矩阵有大约 150 万行,三列...行索引、列索引和一个值。所有数字都是长整数。底层矩阵是一个大小约为 220K x 220K 的稀疏矩阵,每行平均约有 7 个值。
原来的 read.table 工作得很好。
x <- read.table("/users/wallace/Hadoop_Local/reference/DiscoveryData6Mo.csv", header=TRUE);
当我执行 reshape 命令时,我的问题就出现了。
reshape(x, idvar="page_id", timevar="reco", direction="wide")
CPU 达到 100% 并且它永远存在。机器(mac)的内存比 R 使用的更多。我不明白为什么构造一个稀疏矩阵需要这么长时间。
我正在使用默认的矩阵包。我没有安装任何额外的东西。我前几天刚下载了R,所以我应该有最新版本。
建议?
谢谢, 华莱士
【问题讨论】:
-
你应该试试
Matrix包中的sparseMatrix。 -
reshape函数并非设计用于构造一个spars-矩阵,无论您对deus_ex_machina做出什么牺牲。并且没有“矩阵”包。如果您询问的是“Matrix”包,请正确拼写。 -
stackoverflow.com/a/9617424/210673 列出了执行此操作的各种方法。
标签: r sparse-matrix