Запись непрерывной переменной в категориальную категорию с * конкретным c ", в R с использованием Tidyverse - PullRequest
1 голос
/ 18 апреля 2020

Я нашел этот полезный ответ на почти тот же вопрос , но он не совсем делает то, что мне нужно.

У меня есть возраст респондента, непрерывная переменная, и я хотел бы перекодировать его в категориальный, используя tidyverse. Ссылка выше включает в себя объяснения функций cut_number(), cut_interval() и cut_width(), но причина, по которой они не работают для меня, заключается в том, что Я хотел бы перекодировать в категории, которые я уже определил опережает время , а именно диапазоны 18-34, 35-54 и 55+. Ни одна из этих cut функций не позволяет мне сделать это (или, по крайней мере, я не видел как).

Мне удалось заставить мой код работать без tidyverse, используя:

data$age[data$"Age(Self-report)"<35] <- "18-34"
data$age[data$"Age(Self-report)">34 & data$"Age(Self-report)"<55] <- "35-54"
data$age[data$"Age(Self-report)">55] <- "55+"

но я пытаюсь быть последовательным в своем стиле кодирования и хотел бы узнать, как это сделать в Tidyverse. Спасибо за любую помощь!

1 Ответ

1 голос
/ 18 апреля 2020
Подход

A tidyverse будет использовать dplyr::case_when для перекодирования переменной следующим образом:

data %>% 
  mutate(age = case_when(
    `Age(Self-report)` < 35 ~ "18-34",
    `Age(Self-report)` > 34 & `Age(Self-report)` < 55 ~ "35-54",
    `Age(Self-report)` > 55 ~ "55+"
  ))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...