gpt4 book ai didi

r - 获取与 R 中上一个日期的差异

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

我有一个交易日和市场值(value)的交易 list 。每个(交易)日都有新的头寸进入列表,但旧的头寸永远不会消失(当头寸到期时,值(value)保持不变)。该列表如下所示:

Deal Trade_Date MktValue Desidered_Col
Deal1 31.08.2012 10 +10
Deal2 31.08.2012 21 +21
Deal1 03.09.2012 12 +2
Deal2 03.09.2012 19 -2
Deal3 03.09.2012 2 +2

我希望每笔交易都能获得与前一个交易日期的差额(上例中的 Desidered_Col)。我想避免循环,因为我的列表很长。我正在使用 R。
如果有人有任何建议,我将不胜感激。谢谢!

最佳答案

使用 data.table对于大数据集:

df <- read.table(text="Deal Trade_Date MktValue Desidered_Col
Deal1 31.08.2012 10 +10
Deal2 31.08.2012 21 +21
Deal1 03.09.2012 12 +2
Deal2 03.09.2012 19 -2
Deal3 03.09.2012 2 +2",header=TRUE)

library(data.table)
dt <- as.data.table(df)

diff.padded <- function(x) c(x[1],diff(x))

dt[,Desidered_Col2:=diff.padded(MktValue),by=Deal]

# Deal Trade_Date MktValue Desidered_Col Desidered_Col2
#1: Deal1 31.08.2012 10 10 10
#2: Deal2 31.08.2012 21 21 21
#3: Deal1 03.09.2012 12 2 2
#4: Deal2 03.09.2012 19 -2 -2
#5: Deal3 03.09.2012 2 2 2

关于r - 获取与 R 中上一个日期的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13121772/

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