How to group 2 categorical variables into one column/variable

Viewed 45

I'm new to R and need some help.

I have two separate binary categorical variables: mild heart disease and severe heart disease (0 is no, 1 is yes). I need to merge this into one variable called heart disease with 3 levels: none, mild, severe.

Mild heart disease Severe heart disease
0 0
0 0
0 1
0 0
0 0
1 0
0 0

I want to have a variable that combines this into all heart disease (either in categorical form or in numerical as 0,1,2)

heart disease
none
none
severe
none
none
mild
none

How can I go about this. Thanks a lot

1 Answers

First, rename the values of your columns to identify their value correctly; that is, change 0 to 'No' and 1 to the severity class (Mild or Severe). Then, merge them into a new 3-level column.

Check The code below: (edited)

library(dplyr) 
data %>% 
  select(mild_heart_disease, severe_hart_disease) %>% 
   mutate(
    mild_heart_disease = ifelse(mild_heart_disease == 1, ‘mild’, ‘no’), 
    severe_hart_disease = ifelse(severe_hart_disease == 1, ‘severe’, ‘no’) %>%
     rowwise() %>% 
       mutate(three_level = case_when(any(c_across() == “severe") ~ "Severe" , any(c_across() == "mild") ~ "Mild" , TRUE ~ "None")) %>% 
         ungroup()

Tested and worked...

Related