How to Make Scatterplot and Line Charts in R with ggplot2
How to Extract a Subset of a Vector in R
How to Make a Minimal Reproducible Example to Get Help with R

How to Create a Factor in R

To create a factor in R, you use the factor() function. The first three arguments of factor() warrant some exploration:

  • x: The input vector that you want to turn into a factor.

  • levels: An optional vector of the values that x might have taken. The default is lexicographically sorted, unique values of x.

  • labels: Another optional vector that, by default, takes the same values as levels. You can use this argument to rename your levels.

The fact that you can supply both levels and labels to factor can lead to confusion. Just remember that levels refers to the input values of x, while labels refers to the output values of the new factor.

Consider the following example of a vector consisting of compass directions:

> directions <- c("North", "East", "South", "South")

Notice that this vector contains the value "South" twice and lacks the value "West". First, convert directions to a factor:

> factor(directions)
[1] North East South South
Levels: East North South

Notice that the levels of your new factor does not contain the value "West", which is as expected. In practice, however, it makes sense to have all the possible compass directions as levels of your factor. To add the missing level, you specify the levels arguments of factor:

> factor(directions, levels= c("North", "East", "South", "West"))
[1] North East South South
Levels: North East South West

As you can see, the values are still the same but this time the levels also contain "West".

Now imagine that you actually prefer to have abbreviated names for the levels. To do this, you make use of the labels argument:

> factor(directions, levels= c("North", "East", "South", "West"), labels=c("N", "E", "S", "W"))
[1] N E S S
Levels: N E S W
  • Add a Comment
  • Print
  • Share
blog comments powered by Disqus
How to Use Data in Tall Format in Lattice Plots in R
How to Work with Files and Folders in R
How to Create a Two-Way Data Table with R
How to Use the Clipboard to Copy and Paste Data in R
How to Traverse Data with Apply Functions in R