gpt4 book ai didi

r - 基于另一列的多行创建一个新列

转载 作者:行者123 更新时间:2023-12-04 03:12:56 26 4
gpt4 key购买 nike

我有一个这样的数据框

> df<-data.frame(index=c(1,2,3,4,5,6),value=c(2,3,5,8,11,12))
> df
index value
1 1 2
2 2 3
3 3 5
4 4 8
5 5 11
6 6 12

我想创建一个新列,它等于列 index 索引的列 value 的三个相邻值的总和,即

> df_res
index value res
1 1 2 NA
2 2 3 10
3 3 5 16
4 4 8 24
5 5 11 31
6 6 12 NA

res 的第二行是 (2,3,5) 的总和,第三行 (3,5,8) 等(res< 的第一行和最后一行/em>无所谓,我暂时设置为NA)

如何在 R 中完成它?

最佳答案

如果你使用data.table:

library(data.table)
setDT(df)
df[,res:=value+shift(value,1)+shift(value,1,type="lead")]

关于r - 基于另一列的多行创建一个新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43540202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com