【发布时间】:2012-11-08 20:14:00
【问题描述】:
我有一个索引矩阵 I,其中一些索引重复。下面我举个例子。
我有另一个矩阵 A,其尺寸与索引兼容,并且在任何地方都初始化为 0。我想做类似的事情
A[I] += 1
我面临两个问题:
-
A[I] = A[I] + 1效率太低了 - 矩阵
I有冗余索引。例如第 2 行和第 6 行是相同的,我想获得A[1,2] = 2
部分答案是创建一个 3 列矩阵,其中前两列是 unique(I) 的乘积,第三列是计数的乘积,但我也没有看到任何解决方案。任何指针或帮助将不胜感激!
> I is:
[,1] [,2]
[1,] 1 1
[2,] 1 2
[3,] 1 3
[4,] 1 4
[5,] 1 1
[6,] 1 2
[7,] 1 3
【问题讨论】:
-
“索引”一词指的是一个位置。您将其与该位置的值混淆了。如果
I是一个矩阵,那么A[I]极不可能按照您的想法去做。请提供A的小样本以及您希望更新后的A矩阵的样子。 -
下面的答案很好。我想知道你的“效率太低”的说法。
A和I有多大...? -
@BenBolker: 2.5e+09 矩阵单元是我开始处理的,它可以更大,因为我在文本挖掘中编写文档术语矩阵,其中每一行都是一个文档,每列是整个词汇表中的一个词。