我想根据组中的值插入行。 例如,在下面的例子中,我对A组有两个观察,对B组有一个观察。我对创建输出数据框架很感兴趣。输出数据帧包括输入数据帧中日期之前和之后的2天。 (例如,A组(100-2,100-1,100,100 + 1,100 + 2))
输入:
Group Date
A 100
A 15
B 35
输出
Group Date
A 98
A 99
A 100
A 101
A 102
A 13
A 14
A 15
A 16
A 17
B 33
B 34
B 35
B 36
B 37
答案 0 :(得分:0)
我们可以使用data.table
library(data.table)
setDT(df1)[, .(Date = seq((Date-2), Date+2, by = 1)), .(Group, n = 1:nrow(df1))
][, n := NULL][]
# Group Date
# 1: A 98
# 2: A 99
# 3: A 100
# 4: A 101
# 5: A 102
# 6: A 13
# 7: A 14
# 8: A 15
# 9: A 16
#10: A 17
#11: B 33
#12: B 34
#13: B 35
#14: B 36
#15: B 37