【发布时间】:2010-12-14 02:55:21
【问题描述】:
这个问题今天出现在 manipulatr 邮件列表中。
http://groups.google.com/group/manipulatr/browse_thread/thread/fbab76945f7cba3f
我正在改写。
给定一个距离矩阵(使用dist 计算),对距离矩阵的行应用一个函数。
代码:
library(plyr)
N <- 100
a <- data.frame(b=1:N,c=runif(N))
d <- dist(a,diag=T,upper=T)
sumd <- adply(as.matrix(d),1,sum)
问题是,要逐行应用函数,您必须存储整个矩阵(而不仅仅是下三角部分。因此它对大型矩阵使用了太多内存。它在我的计算机中无法处理尺寸为 ~ 10000 的矩阵.
有什么想法吗?
【问题讨论】: