【问题标题】:how to get a cumulative sum on a large dataframe in r如何在r中的大型数据帧上获得累积和
【发布时间】:2018-01-03 12:09:51
【问题描述】:

我有一个大数据数据框 (48 x 100)。 R 中是否有一个优雅的公式可以让您将此数据框转换为“自定义数据框”?

a = c(2, 3, 5)
b = c(2, 3, 5)
c = c(2, 3, 5)

df <- rbind(a,b,c)

现在..我想要 df 的 cumsum,所以它看起来像这样。

我知道使用循环很容易......但是有函数吗?

【问题讨论】:

  • 请阅读有关how to ask a good question 的信息以及如何提供reproducible example。这将使其他人更容易帮助您。
  • 另见?cumsum
  • 是的.. 我想要大量的 cumsum。我可以做一个循环......但问题是有没有更优雅的方式来做 htis?
  • 所以你想要矩阵而不是数据框的结果?请将结果粘贴到代码块中,而不是链接图像。还要说明您尝试过的代码。
  • 我不准确.. 数据框

标签: r dataframe cumsum


【解决方案1】:

像这样:

a <- c(2, 3, 5)
b <- c(2, 3, 5)
c <- c(2, 3, 5)

df <- data.frame(rbind(a,b,c))
df <- cumsum(df)

所以这个数据框:

> df
  X1 X2 X3
a  2  3  5
b  2  3  5
c  2  3  5

变成这样:

> cumsum(df)
  X1 X2 X3
a  2  3  5
b  4  6 10
c  6  9 15

【讨论】:

  • 我不知道cumsum 可以像这样直接用于data.frame。非常好!
  • @SorenChristensen 确保您了解您创建的是矩阵而不是数据框。
  • 还有@SorenChristensen,你应该接受这个答案。
猜你喜欢
  • 1970-01-01
  • 2019-01-08
  • 1970-01-01
  • 1970-01-01
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 2021-06-09
  • 1970-01-01
相关资源
最近更新 更多