我目前正在以下列形式将多个 csv 文件加载到 R 中:
read.csv("Cashflows2.csv", header = F, )
V1 V2
1 Date Payments
2 18/08/2017 -20495*
3 18/04/2018 639.76*
4 18/05/2018 639.76
5 18/06/2018 639.76
6 18/07/2018 639.76
7 18/08/2018 639.76
8 18/09/2018 639.76
9 18/10/2018 639.76
10 18/11/2018 639.76*
11 18/05/2019 639.76*
12 18/06/2019 639.76
13 18/07/2019 639.76
14 18/08/2019 639.76
15 18/09/2019 639.76
16 18/10/2019 639.76
17 18/11/2019 639.76
18 18/12/2019 639.76
19 18/01/2020 639.76
20 18/02/2020 639.76
21 18/03/2020 639.76
22 18/04/2020 639.76
23 18/05/2020 639.76
24 18/06/2020 639.76
25 18/07/2020 639.76
26 18/08/2020 639.76
27 18/09/2020 639.76
28 18/10/2020 639.76
29 18/11/2020 639.76
30 18/12/2020 639.76
31 18/01/2021 639.76
32 18/02/2021 639.76
33 18/03/2021 639.76
34 18/04/2021 639.76
35 18/05/2021 639.76
36 18/06/2021 639.76
37 18/07/2021 734.76
但是,如星号(未出现在 csv 文件中)所示,有两个时期没有付款。是否有一个函数可以将此 csv 文件转换为 R 中的以下形式:
read.csv("Cashflows2.csv", header = F, )
V1 V2
1 Date Payment
2 18/08/2017 -20495
3 18/09/2017 0
4 18/10/2017 0
5 18/11/2017 0
6 18/12/2017 0
7 18/01/2018 0
8 18/02/2018 0
9 18/03/2018 0
10 18/04/2018 639.76
11 18/05/2018 639.76
12 18/06/2018 639.76
13 18/07/2018 639.76
14 18/08/2018 639.76
15 18/09/2018 639.76
16 18/10/2018 639.76
17 18/11/2018 639.76
18 18/12/2018 0
19 18/01/2019 0
20 18/02/2019 0
21 18/03/2019 0
22 18/04/2019 0
23 18/05/2019 639.76
24 18/06/2019 639.76
25 18/07/2019 639.76
26 18/08/2019 639.76
27 18/09/2019 639.76
28 18/10/2019 639.76
29 18/11/2019 639.76
30 18/12/2019 639.76
31 18/01/2020 639.76
32 18/02/2020 639.76
33 18/03/2020 639.76
34 18/04/2020 639.76
35 18/05/2020 639.76
36 18/06/2020 639.76
37 18/07/2020 639.76
38 18/08/2020 639.76
39 18/09/2020 639.76
40 18/10/2020 639.76
41 18/11/2020 639.76
42 18/12/2020 639.76
43 18/01/2021 639.76
44 18/02/2021 639.76
45 18/03/2021 639.76
46 18/04/2021 639.76
47 18/05/2021 639.76
48 18/06/2021 639.76
49 18/07/2021 734.76
并非所有 csv 文件都有相同的问题,因此理想情况下,该功能将适用于多个类似的 csv 文件,其中并非所有文件都经历 0 付款期。
任何帮助将不胜感激。
dput(df)
structure(list(V1 = structure(c(37L, 22L, 7L, 10L, 14L, 18L,
23L, 26L, 29L, 32L, 11L, 15L, 19L, 24L, 27L, 30L, 33L, 35L, 1L,
3L, 5L, 8L, 12L, 16L, 20L, 25L, 28L, 31L, 34L, 36L, 2L, 4L, 6L,
9L, 13L, 17L, 21L), .Label = c("18/01/2020", "18/01/2021", "18/02/2020",
"18/02/2021", "18/03/2020", "18/03/2021", "18/04/2018", "18/04/2020",
"18/04/2021", "18/05/2018", "18/05/2019", "18/05/2020", "18/05/2021",
"18/06/2018", "18/06/2019", "18/06/2020", "18/06/2021", "18/07/2018",
"18/07/2019", "18/07/2020", "18/07/2021", "18/08/2017", "18/08/2018",
"18/08/2019", "18/08/2020", "18/09/2018", "18/09/2019", "18/09/2020",
"18/10/2018", "18/10/2019", "18/10/2020", "18/11/2018", "18/11/2019",
"18/11/2020", "18/12/2019", "18/12/2020", "Date"), class = "factor"),
V2 = structure(c(4L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 3L), .Label = c("-20495",
"639.76", "734.76", "Payment"), class = "factor")), class = "data.frame", row.names = c(NA,
-37L))