как узнать процент держателей кредитных карт для разных возрастных групп - PullRequest
1 голос
/ 29 марта 2019

Таблица ACCOUNT содержит список счетов клиентов.У клиента может быть несколько учетных записей каждого типа. Таблица для таблицы выглядит следующим образом:

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 код

1 Ответ

0 голосов
/ 29 марта 2019

Одна dplyr возможность может быть:

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 <- 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...