gpt4 book ai didi

r - 获取与 7 天前日期 'Around' 相关的分数

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

这就是我的数据框的样子。最右边(第 4 列)是我想要的列。对于一个给定的名字,我试图从 7 天前推导出那个人的分数。如果 7 天前不存在任何日期,那么我想要与最接近的日期(一行的日期 - 7 天)相关联的分数。

library(data.table)
dt <- fread('
Name Score Date ScoreAround7DaysAgo
John 9 2016-01-01 NA
John 6 2016-01-10 9
John 3 2016-01-17 6
John 5 2016-01-18 6
Tom 9 2016-01-01 NA
Tom 6 2016-01-10 9
Tom 3 2016-01-17 6
Tom 5 2016-01-18 6
')
dt[, Date := as.IDate(Date)]

我试过 dt[dt,roll=7+nearest]无济于事。感谢您的帮助。

最佳答案

这有效:

dt[, DateLag := Date - 7L ]
w = dt[dt, which = TRUE, on = c("Name", Date = "DateLag"), roll = "nearest"]

dt[ , `:=`(ScoreLag = Score[replace(w, w == .I, NA_integer_)], DateLag = NULL)]


Name Score Date ScoreAround7DaysAgo ScoreLag
1: John 9 2016-01-01 NA NA
2: John 6 2016-01-10 9 9
3: John 3 2016-01-17 6 6
4: John 5 2016-01-18 6 6
5: Tom 9 2016-01-01 NA NA
6: Tom 6 2016-01-10 9 9
7: Tom 3 2016-01-17 6 6
8: Tom 5 2016-01-18 6 6

它找到最接近 Date-7 的日期,但如果相同则丢弃它 Date再次。

关于r - 获取与 7 天前日期 'Around' 相关的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36775356/

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