Skip to main content

Converting categorical variables into numbers

I have a categorical variable educa that needs to be converted into numbers for readability. educa can take on 6 values. I want to convert them into 1-6. How do I do this? This doesn't work:

brfs2013educationsummarycleaned <- 
    brfs2013educationsummary %>% 
    mutate(
    educa_level = ifelse(educa == "Never attended school or only kindergarten", 1, educat == "Grades 1 through 8 (Elementary)", 2, "not a real category"))

What am I doing wrong? The above is a portion of what I intend to do.

Solved

We can use match if the values in 'educa' have to be converted based on the order in which they appear in the data

library(tidyverse)
brfs2013educationsummary %>%
           mutate(educa_level = match(educa, unique(educa)))

 as.numeric(educa)

will do what you want and if you want it as new column

 brfs2013educationsummarycleaned <- 
         brfs2013educationsummary %>% 
         mutate(educa_level = as.numeric(educa))

Comments

Popular posts from this blog

Fade Inline-Block with CSS and Velocity JS

I'm using Velocity JS to fade a list object. The problem is that Velocity applies display: list-item; opacity: 1; to the element and overrides my display: inline-block; and my list is now vertical. How can I force it to always use inline-block? https://jsfiddle.net/01qvqmxa/ HTML test test test CSS li { opacity: 0; display: inline-block; padding: 1em; } JS $(".myList li").velocity("fadeIn", { delay: 300, duration: 2000 }); Solved Try using the !important notation: li { opacity: 0; display: inline-block !important; padding: 1em; } revised fiddle