问题标签 [cumsum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
994 浏览

r - R中具有应用函数的条件累积和

可能这个问题已经在 SO 中得到解决和回答,但无法找到。我正在计算一个非常大的数据帧上的条件的累积和。看下面的例子

没有for循环有没有聪明的方法?(如应用功能)

0 投票
2 回答
9273 浏览

python - 如何就地获取numpy数组的累积和

我想计算积分图像。例如

这将生成另一个数组 b. 我可以就地执行吗cumsum?如果不 。有没有其他方法可以做到这一点

0 投票
1 回答
920 浏览

r - R:连续几天的计算?

这个问题建立在这个问题之上:

R:按周计算移动最大斜率,考虑因素

我的问题:

下面粘贴的代码使用 计算 7 天内的最大斜率length(HDD)。我想更有区别,我只希望连续 7 天计算 MaxSlope。

例如,从 2004 年 12 月 26 日到 2004 年 12 月 30 日的数据中存在差距。仅考虑我在此处复制的这部分数据,MaxSlope 应仅针对 2004-12-23 和 2004-12-24 计算。所有其他日期都应插入“NA”。该数据集将增长到数百万条记录,因此效率很重要。

注意:我将我的 data.frame 子集化以仅提供此处重要的列。MaxSlope 代码中的by语句很重要,因为它适用于整个 data.frame。

我不知道从哪里开始连续日期计算。有任何想法吗?

谢谢!

我用来计算最大斜率的代码:

我的数据结构:

数据的一部分是什么样的:

已编辑以包括@eddi 提供的答案。感谢您的简单修复!

0 投票
1 回答
90 浏览

matlab - Matlab,替代创建一个额外的向量?

如果我有这个我得到一个错误

我知道我可以这样做:

这将返回一个逻辑 1。

有没有其他方法可以将所有内容放在一条线上?

0 投票
2 回答
891 浏览

r - R:累计计算列值出现在其他列中的次数

使用示例来描述我想要做什么可能更容易......假设我有以下数据框:

您可以按如下方式生成

我想要 id2 出现在 id1 中具有相同 var 的次数的累积计数,所以我最终会得到

所以第 3 行的计数是 1,因为我们在第 3 行(第 1 行)之前看到一次 id1 = 1 和 var = 'a',然后在第 4 行,计数也是 1,因为我们看到 id1 = 2 和 var 'a'在第 3 行(我们只在第 4 行之前检查,所以不要计算我们在第 5 行看到的那个)。

如果我检查 id1 出现在 id1 中的次数,我会做类似的事情

有没有一种快速简便的方法来为 id2 执行此操作?

提前致谢

0 投票
1 回答
1212 浏览

r - 在 R 中的多列中泛化/循环条件累积和算法

我在 R 中找到了很多关于条件累积和的问题和答案,但到目前为止,我所看到的所有问题和答案都涉及对单个变量进行条件求和。

我想要做的是概括条件和公式,以便它可以在多个列中循环。我有一个包含历史 NFL 比赛数据的巨大数据框(大约 2500 行 x 136 列)。每个团队赛季有 16 行,每场比赛大约有 130 个变量。

我想计算每个统计类别的逐周(年初至今)累积平均值,最终目的是计算每支球队相对于整个联盟的每周 z 分数。

这是一个使用ddply为单个变量完成此任务的包的示例(在本例中为进攻性第二节得分):

如何在不使用for循环的情况下遍历所有统计类别列?如果我必须使用for循环,有没有办法通过数字 ID 而不是标签来引用列?


下面的代码让我非常接近我想去的地方。感谢 Max Ghenis为我指明了正确的方向。

然而,虽然数据以正确的 UGID(唯一游戏 ID)顺序列出,但 UGID 值并未输出。如何在输出中包含此列,以便跟踪表中的游戏 ID?

0 投票
0 回答
350 浏览

r - R中稀疏矩阵的快速二维累积和

提出这个问题的最清楚的方法可能是分阶段发展它......

Q1:一般情况

考虑cumsum(x)[i]可以将(对于所有 i)定义为sum(x[1:i])

还要考虑定义的泛化cumsum2D(A)[i,j](对于所有 i,j)为sum(A[1:i,1:j])。这类似于将积分推广到二维的方式。

让 Q1 成为问题:假设很大cumsum2D(A),在 R中计算最快/最好的方法是什么?这个问题在这里A提出和回答。

Q2:稀疏案例

请注意,任何矩阵A都可以表示为D列出其非零元素的数据框(称为它)。D$val包含A[A!=0]whileD$iD$j包含相应的下标。如果A是稀疏nrow(D)则小。

cumsum2Dsparse(D)等于cumsum2D(A)

cumsum2Dsparse(D)让 Q2 成为问题:假设D表示一个稀疏矩阵,最快/最好的计算方法是什么?

Q3:特殊稀疏情况

现在假设 的每一行和每一列A仅包含 1 个非零元素。(或等效地,假设D$i和分别是和D$j的排列。)1:nrow(A)1:ncol(A)

给定这个约束,让 Q3 是 Q2。

Qk

如前所述,Q1之前已在 SO 上得到回答

Q2 是 Q1 的稀疏版本。

我将 Q3 包括在内,因为它可能比 Q2 有更快的解决方案,但如果您觉得它过于具体/不可重用,请忽略它。

编辑:供参考:

  • 为了与 Q3 的稀疏性保持一致,
    让 N = 列数 = 行数 = 非零元素的数量。
  • 对于基准测试,使用数据
    D <- data.frame(i=1:10000,j=((1:10000)*3333)%%10000,val=1)
0 投票
2 回答
3545 浏览

python - csv 行的 Numpy 累积总和给出类型错误

我正在使用 cumsum 函数来计算 csv 列(行)的累积总和。输入如下所示:

输入(平均_):

但是这段代码:

不起作用并给出错误:

有什么想法我做错了什么吗?

0 投票
2 回答
1127 浏览

r - 获取除第一个值之外的先前值的累积总和

我在 R 中运行代码,其示例如下,带有一个小数据集 -

这样做的目的是,除非 Y3 列的值是它第一次出现在数据集中,否则对于 Y3 的每一行,我们都需要创建一个列 X5,它是之前 Y2 的累积和。由于我的数据量很大(大约 110k 行数据),因此这段代码需要花费大量时间来执行。有没有更简单的方法来执行相同的代码?

0 投票
2 回答
55 浏览

r - 获取列的先前值并创建 cumsum 向量

我有以下 R 代码:

我想创建 b 使得 b[i] = a[i] + b[i-1]。

需要帮助,如何在 R 中执行上述操作。