You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于日期与金额的零利息分期还款计划实现问题(R语言)

问题:为到期还款金额创建周五分摊还款计划

我有以下包含到期日与对应还款金额的数据:

data <- tribble(
  ~Date, ~Amount,
  "26/11/2024", 387,
  "04/01/2025", 879,
  "08/02/2025", 954,
  "22/02/2025", 1849,
  "25/02/2025", 103,
  "05/03/2025", 2400
)

需求:为每笔金额创建零利息还款计划,将金额分摊至到期日前的每个周五。例如,2024年11月26日到期的387元,在起始日期(2024年11月5日)至到期日之间有3个周五,每个周五需还款387/3=129元。

我已经编写了以下R代码:

library(tidyverse)
library(lubridate)

# calculate a sequence of dates from now until latest payment date
all_dates <- seq(as.Date("2024-11-05"),as.Date('2025-03-05'),by = 1) %>% 
  tibble() %>%
  rename("list_of_dates" = ".") %>% 
  mutate(dummy_amt = 0)

# create Friday payment plan
data2 <- data %>% 
  mutate(Date = strptime(as.character(Date), "%d/%m/%Y")) %>% 
  mutate(Date = format(Date, "%Y-%m-%d")) %>% 
  mutate(Date = as.Date(Date)) %>% 
  right_join(all_dates, by = c("Date" = "list_of_dates")) %>% 
  select(-dummy_amt) %>% 
  mutate(Amount = replace_na(Amount, 0)) %>% 
  arrange(Date) %>% 
  mutate(Day = wday(Date, label = TRUE, abbr = FALSE)) %>% 
  filter(Day == "Friday" | Amount != 0) %>% 
  mutate(no_fridays = if_else(Day == "Friday", 1, 0)) %>% 
  mutate(cum_fridays = cumsum(no_fridays))

目前我已经能计算截至某一日期的累计周五数量,但卡在下一步:如何为每个到期日前的周五分配对应还款额。理想的输出格式如下(以前两笔金额为例):

Date       Amount Day     cum_fridays payment1 payment2
   <date>      <dbl> <ord>         <dbl>    <dbl>    <dbl>
 1 2024-11-08      0 Friday            1      129     97.7
 2 2024-11-15      0 Friday            2      129     97.7
 3 2024-11-22      0 Friday            3      129     97.7
 4 2024-11-26    387 Tuesday           3        0        0
 5 2024-11-29      0 Friday            4        0     97.7
 6 2024-12-06      0 Friday            5        0     97.7
 7 2024-12-13      0 Friday            6        0     97.7
 8 2024-12-20      0 Friday            7        0     97.7
 9 2024-12-27      0 Friday            8        0     97.7
10 2025-01-03      0 Friday            9        0     97.7
11 2025-01-04    879 Saturday          9        0        0

请求帮助完成该功能的实现。

内容的提问来源于stack exchange,提问作者J K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:11:16