R。行总和

问题描述 投票:0回答:1

假设在 R 中我们有一个以下起始“df”表。

names <- rep(c("Paul", "Marc", "Richard"), each = 20)
income <- sample(1:100, 60, replace = TRUE)
df <- data.frame(Name = names, Income = income, Contributions = contributions)

在此表中,我需要创建第二列,假设每行定义的财富,对于每个名称,作为初始收入(名称的初始行)加上第 i 行相应收入的总和。因此,对于 Paul 来说,以样本图像为参考,第 1 行的 Wealth 为 55,第 2 行的 Wealth 为 55+38,第 3 行的 Wealth 为 55+1。是的,这是违反直觉的,但我不需要累计总和。我想不出更好的例子。马克和理查德也是如此。

谢谢!

r database sum
1个回答
1
投票

使用基数 R,您可以使用

ave
将操作按
Name
分组,例如,

transform(df, Wealth = ave(Income, Name, FUN = \(x) x[1]+c(0,x[-1])))
© www.soinside.com 2019 - 2024. All rights reserved.