r - 按列使用 cumsum

标签 r

我有一个矩阵,例如:

A= [ 1 2 3 4
     3 5 6 6
     4 1 2 3 ]

我想以另一个矩阵(或数据框)的形式获取列的累积和。例如,这个矩阵会给出:

B= [1 2 3 4
    4 7 9 10
    8 8 8 13]

最佳答案

如果A是一个矩阵,使用apply:

A <- structure(c(1, 3, 4, 2, 5, 1, 3, 6, 2, 4, 6, 3), .Dim = 3:4)
B <- apply(A, 2, cumsum)
B
#      [,1] [,2] [,3] [,4]
# [1,]    1    2    3    4
# [2,]    4    7    9   10
# [3,]    8    8   11   13

如果A是一个data.frame,使用lapply:

B <- as.data.frame(A)
B[] <- lapply(B, cumsum)
B
#   V1 V2 V3 V4
# 1  1  2  3  4
# 2  4  7  9 10
# 3  8  8 11 13

关于r - 按列使用 cumsum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32546219/

相关文章:

r - 使用 knitr 控制科学记数法和零值格式,使用 kable() 生成表格

r - 查找向量中唯一元素的最后一次出现的索引

r - 在 R 中调试意外错误——如何找到错误发生的位置?

r - 循环回归模型项的组合

r - 如何比较和组合 R 中的字符串列

r - 有条件地填充数据框的行

r - 将医疗设备 XML 数据转换为 R 中的数据帧

r - 将 X 轴标签与 X 轴上的第一个刻度文本左对齐

r - 数据框的多维数组

r - 具有不同颜色负值的条形图