Excellent! What if you would like to add a new level to an existing factor variable? We've already seen that you'll get a warning if you attempt to add an uncategorized value to a factor, and R will replace it with
NA. Let's take a quick look at an example. In the
houses$district column, we've stored the districts in which properties are open for sale. Suppose our real estate agency has decided to sell homes in the "Manty Avenue" district, and we want to add that new category to our
houses$district column. What do we do in that case?
We can use the
factor() function once again to add new levels. First, a refresher: recall that the
c() function does not have to take just raw values—it can also accept vector arguments. So, to make our lives easier, we can add the new factor level "Manty Avenue" like so, without retyping all the other levels:
houses$district<- factor(houses$district, levels=c(levels(houses$district), "Manty Avenue") )
Now, when you run
houses[1, "district"] <- "Manty Avenue"
R will not give you any warnings because
was successfully added as a level.