计算R中的相对累积和

有雾

我的样本数据如下所示:

data <- read.table(text="group;  year;    val
               a;        1928;    20
               a;        1929;    50
               a;        1930;    40
               a;        1931;    45
               b;        1935;   -10
               b;        1936;   -15 ", sep=";", header=T, stringsAsFactors = FALSE)

> data
                 group year val
1                    a 1928  20
2                    a 1929  50
3                    a 1930  40
4                    a 1931  45
5                    b 1935 -10
6                    b 1936 -15

我想做的是在一个新列中计算相对于1930的累积总和sum_rel(例如1930是开始年份,应将1930年以上的所有值相加,并减去1930年以下的所有值)。如果所有年份都大于1930,则相对值(0 =)应该是每个组中最低的年份(如b所示)。

               group year  val sum_rel
               a     1927      -110
               a     1928  20  -90
               a     1929  50  -40
               a     1930  40    0
               a     1931  45   45
               b     1934      0
               b     1935 -10  -10
               b     1936 -15  -25

我看过该cumsum函数,但无法弄清楚将其应用于各个组,如果您能帮助我,我将非常高兴。

弗里克先生

添加额外的行可能是最棘手的部分。这似乎产生您想要的输出

do.call("rbind", unname(lapply(split(data, data$group), function(x) {
    x<-x[order(x$year),]
    cx <- c(which(x$year==1930),0)[1]+1
    cs <- cumsum(c(0, x$val))
    cbind(rbind(transform(x[1,], val=NA, year=min(x$year)-1), x), sum_rel=cs-cs[cx])
})))

#               group year val sum_rel
# 1                 a 1927  NA    -110
# 2                 a 1928  20     -90
# 3                 a 1929  50     -40
# 4                 a 1930  40       0
# 5                 a 1931  45      45
# 52                b 1934  NA       0
# 51                b 1935 -10     -10
# 6                 b 1936 -15     -25

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中的累积曲线

来自分类Dev

R中多个栅格的累积和

来自分类Dev

SQL Server中的累积计算

来自分类Dev

逆转累积和以确定R中的实际值

来自分类Dev

如何在Python中为多个列按累积和计算组

来自分类Dev

jq中的累积和

来自分类Dev

R中的“累积差异”功能

来自分类Dev

计算r中的相对RMSE

来自分类Dev

累积计算Stata中的变量

来自分类Dev

pyspark中的累积和

来自分类Dev

如何将R中矩阵的列(累积和)相加?

来自分类Dev

寻找一种更快的方法来计算R中大时间序列的条件反向累积和

来自分类Dev

R累积和,但顺序相反

来自分类Dev

计算向量中唯一值的累积和

来自分类Dev

计算r中数据帧内变量的相对频率

来自分类Dev

R中的累积曲线

来自分类Dev

R中矩阵和栅格的相对计算负担

来自分类Dev

R列中的自动累积计算

来自分类Dev

计算R中的相对时间序列

来自分类Dev

矩阵列的累积和与计算

来自分类Dev

MySQL中的累积和

来自分类Dev

用加法和减法计算累积和

来自分类Dev

计算 R 数据框中的累积唯一出现次数

来自分类Dev

计算每行中字段的累积总和

来自分类Dev

累积和:处理 R 中栅格数据中的 NA 像素

来自分类Dev

pandas df 中的累积计算行

来自分类Dev

在 R 中运行(累积)产品?

来自分类Dev

在 xmltable 中的 xmlpath 上计算累积和 (cumsum)

来自分类Dev

加速 SQL Server 中的累积总和计算