R 如何找到不同年龄组的信用卡持有人百分比
ACCOUNT表包含客户持有的帐户列表。每种类型的客户可能有多个帐户。表的布局如下所示:R 如何找到不同年龄组的信用卡持有人百分比,r,analytics,R,Analytics,ACCOUNT表包含客户持有的帐户列表。每种类型的客户可能有多个帐户。表的布局如下所示: CUSTOMER_NUMBER CUSTOMER_AGE ACCOUNT_NUMBER ACCOUNT TYPE 123 27 A987 Home Loan 123 27 B6547 Credit Card 124
CUSTOMER_NUMBER CUSTOMER_AGE ACCOUNT_NUMBER ACCOUNT TYPE
123 27 A987 Home Loan
123 27 B6547 Credit Card
124 42 B7531 Credit Card
展示您如何确定以下年龄段拥有信用卡的客户比例:18-29岁、30-44岁、45-59岁、60岁以上
输出应如下所示:
Age Band % with Credit Card
18-29 44.9%
30-44 41.2%
45-59 45.5%
60+ 43.0%
如何获得上表所示的预期结果,以及持有信用卡的不同年龄组的百分比
请在R代码中帮助我。一种可能性是:
df %>%
group_by(grp = cut(CUSTOMER_AGE,
breaks = c(18, 29, 44, 59, Inf),
labels = c("18-29", "30-44", "45-59", "60+"),
right = FALSE)) %>%
summarise(res = (length(ACCOUNT_TYPE[ACCOUNT_TYPE == "Credit_Card"])/n()*100))
grp res
<fct> <dbl>
1 18-29 50
2 30-44 100
df%>%
分组依据(grp=切割(客户年龄),
中断=c(18,29,44,59,Inf),
标签=c(“18-29”、“30-44”、“45-59”、“60+”),
右=假))%>%
摘要(res=(长度(账户类型[账户类型==“信用卡”)/n()*100))
玻璃钢
1 18-29 50
2 30-44 100
样本数据:
df <- read.table(text = "CUSTOMER_NUMBER CUSTOMER_AGE ACCOUNT_NUMBER ACCOUNT_TYPE
123 27 A987 Home_Loan
123 27 B6547 Credit_Card
124 42 B7531 Credit_Card", header = TRUE,
stringsAsFactors = FALSE)
dfOnedplyr
可能性可能是:
df %>%
group_by(grp = cut(CUSTOMER_AGE,
breaks = c(18, 29, 44, 59, Inf),
labels = c("18-29", "30-44", "45-59", "60+"),
right = FALSE)) %>%
summarise(res = (length(ACCOUNT_TYPE[ACCOUNT_TYPE == "Credit_Card"])/n()*100))
grp res
<fct> <dbl>
1 18-29 50
2 30-44 100
df%>%
分组依据(grp=切割(客户年龄),
中断=c(18,29,44,59,Inf),
标签=c(“18-29”、“30-44”、“45-59”、“60+”),
右=假))%>%
摘要(res=(长度(账户类型[账户类型==“信用卡”)/n()*100))
玻璃钢
1 18-29 50
2 30-44 100
样本数据:
df <- read.table(text = "CUSTOMER_NUMBER CUSTOMER_AGE ACCOUNT_NUMBER ACCOUNT_TYPE
123 27 A987 Home_Loan
123 27 B6547 Credit_Card
124 42 B7531 Credit_Card", header = TRUE,
stringsAsFactors = FALSE)
df