拥有一组拥有多笔贷款的借款人的数据集。我想插入一个计算每笔贷款的贷款计数器。下面是我想让柜台看的桌子。我还会创建一个新的列,显示借款者拥有的最大贷款数量。我还想插入两栏。一种识别每个借款人的第一笔贷款,另一种识别每个借款人的最后一笔贷款。请看下表

发布于 2020-07-13 21:02:54
假设您的贷款是有序的(例如,通过Loan_Date),您可以使用tidyverse采取这种方法。使用group_by计算给定Customer_ID的贷款,然后使用row_number和n()确定所需的列值。
library(tidyverse)
df %>%
group_by(Customer_ID) %>%
mutate(LoanCounter = row_number(),
MaxLoan = n(),
FirstLoan = ifelse(row_number() == 1, 1, 0),
LastLoan = ifelse(row_number() == n(), 1, 0))输出
# A tibble: 9 x 7
# Groups: Customer_ID [2]
Customer_ID Customer_Account Loan_Date LoanCounter MaxLoan FirstLoan LastLoan
<dbl> <dbl> <dbl> <int> <int> <dbl> <dbl>
1 100100 1001 200801 1 5 1 0
2 100100 1002 200902 2 5 0 0
3 100100 1003 201003 3 5 0 0
4 100100 1004 201105 4 5 0 0
5 100100 1005 201209 5 5 0 1
6 100102 2001 201805 1 4 1 0
7 100102 2006 201903 2 4 0 0
8 100102 2010 201905 3 4 0 0
9 100102 238 202002 4 4 0 1数据
df <- structure(list(Customer_ID = c(100100, 100100, 100100, 100100,
100100, 100102, 100102, 100102, 100102), Customer_Account = c(1001,
1002, 1003, 1004, 1005, 2001, 2006, 2010, 238), Loan_Date = c(200801,
200902, 201003, 201105, 201209, 201805, 201903, 201905, 202002
)), class = "data.frame", row.names = c(NA, -9L))https://stackoverflow.com/questions/62881185
复制相似问题