Name rows in dataframe, after bind_rows

Viewed 181

I have used the following code:

total_covid <- bind_rows(transformed_confirmed, transformed_deaths, transformed_recovered, .id = 'Status')

To compile different case types into a single data-frame, with the new column being labelled "Status". My different case types are confirmed, deaths and recovered. These have been labelled 1, 2 and 3 with my above code. But, I want 1 to read "confirmed", 2 to read "deaths" and 3 to read "recovered". How do I change these row names? Thanks!

1 Answers

We can get this in a named list and then use bind_rows

library(dplyr)
total_covid <- list(confirmed = transformed_confirmed, 
                     deaths = transformed_deaths, 
                recovered = transformed_recovered) %>%
     bind_rows(.id = 'Status')

Or use dplyr::lst to get a named list

 dplyr::lst(transformed_confirmed, transformed_deaths, transformed_recovered) %>%
       bind_rows(.id = 'Status') %>%
       mutate(Status = stringr::str_remove(Status, 'transformed_'))
Related