Course Content

R Introduction: Part I

## R Introduction: Part I

# Levels

Let's revisit the `Levels`

label: you often see it when working with factor outputs. What if you want to view all possible values a factor can take?

To display **all levels of a facto**r, which are the distinct categorical values it holds, use the `levels()`

function with the factor variable as the argument. Let's take a look at an example:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output all the levels levels(curr_f)`

Interestingly, you can rearrange these levels without altering the actual data. Nonetheless, we sometimes encounter **ordered** factor variables. Take height, for instance: one might be classified as tall, medium, or short. This ordering implies tall > medium > short.

R accommodates this by allowing you to specify the `ordered`

parameter as `TRUE`

. This organizes the variables **alphabetically** for textual values or numerically for values that are numbers.

While numerical ordering is typically straightforward and desired, alphabetical ordering might not be appropriate. To establish a **specific order**, you also need to set the `labels`

parameter to a vector that lists your values in **ascending order**.

Let's look at an example for clarity:

`# Factors with no ordering factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Factors with ordering without labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T) # Factors with ordering with labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T, labels = c('USD', 'EUR', 'CHF', 'AUD', 'NOK'))`

Observing the difference is instructive. Try it out for yourself!

Task

Let's say you have a vector of grades ranging from 'A' to 'F'. You're tasked with converting this into an **ordered factor** with the sequence 'F < D < C < B < A':

- Convert the
`grades`

vector to a factor, capturing the required order, and store it in the`grades_f`

variable. - Display the entire
`grades_f`

variable.

Thanks for your feedback!

# Levels

Let's revisit the `Levels`

label: you often see it when working with factor outputs. What if you want to view all possible values a factor can take?

To display **all levels of a facto**r, which are the distinct categorical values it holds, use the `levels()`

function with the factor variable as the argument. Let's take a look at an example:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output all the levels levels(curr_f)`

Interestingly, you can rearrange these levels without altering the actual data. Nonetheless, we sometimes encounter **ordered** factor variables. Take height, for instance: one might be classified as tall, medium, or short. This ordering implies tall > medium > short.

R accommodates this by allowing you to specify the `ordered`

parameter as `TRUE`

. This organizes the variables **alphabetically** for textual values or numerically for values that are numbers.

While numerical ordering is typically straightforward and desired, alphabetical ordering might not be appropriate. To establish a **specific order**, you also need to set the `labels`

parameter to a vector that lists your values in **ascending order**.

Let's look at an example for clarity:

`# Factors with no ordering factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Factors with ordering without labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T) # Factors with ordering with labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T, labels = c('USD', 'EUR', 'CHF', 'AUD', 'NOK'))`

Observing the difference is instructive. Try it out for yourself!

Task

Let's say you have a vector of grades ranging from 'A' to 'F'. You're tasked with converting this into an **ordered factor** with the sequence 'F < D < C < B < A':

- Convert the
`grades`

vector to a factor, capturing the required order, and store it in the`grades_f`

variable. - Display the entire
`grades_f`

variable.

Thanks for your feedback!

# Levels

Let's revisit the `Levels`

label: you often see it when working with factor outputs. What if you want to view all possible values a factor can take?

To display **all levels of a facto**r, which are the distinct categorical values it holds, use the `levels()`

function with the factor variable as the argument. Let's take a look at an example:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output all the levels levels(curr_f)`

Interestingly, you can rearrange these levels without altering the actual data. Nonetheless, we sometimes encounter **ordered** factor variables. Take height, for instance: one might be classified as tall, medium, or short. This ordering implies tall > medium > short.

R accommodates this by allowing you to specify the `ordered`

parameter as `TRUE`

. This organizes the variables **alphabetically** for textual values or numerically for values that are numbers.

While numerical ordering is typically straightforward and desired, alphabetical ordering might not be appropriate. To establish a **specific order**, you also need to set the `labels`

parameter to a vector that lists your values in **ascending order**.

Let's look at an example for clarity:

`# Factors with no ordering factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Factors with ordering without labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T) # Factors with ordering with labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T, labels = c('USD', 'EUR', 'CHF', 'AUD', 'NOK'))`

Observing the difference is instructive. Try it out for yourself!

Task

Let's say you have a vector of grades ranging from 'A' to 'F'. You're tasked with converting this into an **ordered factor** with the sequence 'F < D < C < B < A':

- Convert the
`grades`

vector to a factor, capturing the required order, and store it in the`grades_f`

variable. - Display the entire
`grades_f`

variable.

Thanks for your feedback!

`Levels`

label: you often see it when working with factor outputs. What if you want to view all possible values a factor can take?

**all levels of a facto**r, which are the distinct categorical values it holds, use the `levels()`

function with the factor variable as the argument. Let's take a look at an example:

**ordered** factor variables. Take height, for instance: one might be classified as tall, medium, or short. This ordering implies tall > medium > short.

`ordered`

parameter as `TRUE`

. This organizes the variables **alphabetically** for textual values or numerically for values that are numbers.

**specific order**, you also need to set the `labels`

parameter to a vector that lists your values in **ascending order**.

Let's look at an example for clarity:

Observing the difference is instructive. Try it out for yourself!

Task

**ordered factor** with the sequence 'F < D < C < B < A':

- Convert the
`grades`

vector to a factor, capturing the required order, and store it in the`grades_f`

variable. - Display the entire
`grades_f`

variable.