在R中的矩阵的列内创建累积分布

时间:2015-10-31 01:41:52

标签: r for-loop matrix apply lapply

我的情况是有c概率分布。每个分布都有可能性。因此,我可以使用(r x c)矩阵对其进行建模,其中第c列表示第c个概率分布。 [r,c]处的元素表示从第c个概率分布中获得第r个可能性的概率。我将此矩阵命名为probDist。

我想生成一个累积概率分布矩阵,这样矩阵中[r,c]的每个元素都是[1,c]到[r-1,c]中元素的总和。

我在R编码。目前,我的代码如下:

cumProbDist <- probDist
for(c in 1:ncol(probDist))
    cumProbDist[c] <- cumsum(probDist[c])

哪种方法正常,但我知道for函数由于效率低而在R代码中非常不受欢迎。 我如何重写这段代码以使用* apply系列函数(或类似效率的东西)呢?

1 个答案:

答案 0 :(得分:1)

cumProbDist = apply(probDist,2,cumsum)