按顺序填充

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

我想在序列后填充变量。我有每个客户的第一个约会,但是,我需要为接下来的观察做+1个月。数据如下所示:Actual data

我需要得到(对于给定的ID)用下个月的相同日期填充NA。用简单的话来说,使用Date进行填充并获得Date+1。所需的输出将是这样的:Desired output

如果我只是简单地使用fill这样的话:amortization_table%>%fill(Starting_date,.direction="down")每次都会给我带来相同的值,但是,我需要数字来遵循顺序。我尝试使用amortization_table%>%fill(seq(Starting_date, by = "1 month"),.direction="down"),但没有用。

这里是一些只有两种情况的示例数据:

amortization_table <- structure(list(Year = c(0.08, 0.17, 0.25, 0.33, 0.42, 0.5, 0.58, 
0.67, 0.75, 0.83, 0.92, 1, 1.08, 1.17, 1.25, 1.33, 1.42, 1.5, 
1.58, 1.67, 1.75, 1.83, 1.92, 2, 2.08, 2.17, 2.25, 2.33, 2.42, 
2.5, 2.58, 2.67, 2.75, 2.83, 2.92, 3, 3.08, 3.17, 3.25, 3.33, 
3.42, 3.5, 3.58, 3.67, 3.75, 3.83, 3.92, 4, 0.08, 0.17, 0.25, 
0.33, 0.42, 0.5, 0.58, 0.67, 0.75, 0.83, 0.92, 1), NO_CREDITO = c("118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118510", "118510", 
"118510", "118510", "118510", "118510", "118510", "118520", "118520", 
"118520", "118520", "118520", "118520", "118520", "118520", "118520", 
"118520", "118520", "118520"), Payment_date = structure(c(17239, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 17240, 
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA), class = "Date")), row.names = c(NA, 
-60L), class = "data.frame")
r tidyr fill
1个回答
0
投票

不确定您要问的是什么,因为未列出“付款金额”。但是您可以只使用tidyr :: fill吗?

tidyr::fill(prestamos, Starting_date)
© www.soinside.com 2019 - 2024. All rights reserved.