Course Content

R Introduction: Part I

## R Introduction: Part I

# Indexing in Factors

Excellent! Now, let's delve into how to **manipulate** or **modify** an existing factor variable.

To begin, we can specify which values to display by using **indexing**. This operates in the same way as indexing a vector. For instance, to show the **third** and **fifth** entries of the `curr_f`

factor, we can use the following indexing:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5)]`

When R presents the output, it lists all levels beneath, even though only a couple of categorical values were shown. This feature becomes particularly handy when dealing with **extensive data** and trying to remember all the unique values is impractical.

If it's not necessary to display every level, you can include the `drop = TRUE`

(or `drop = T`

) parameter within the brackets `[]`

. This will show only the levels **retrieved from indexing**. The same operation as mentioned earlier would be written like this:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5), drop = T]`

Using individual indices may not be practical when you need to extract a series of elements. In R, you can generate a **vector of consecutive integers** by separating the starting and ending numbers with a colon `:`

. For instance, `5:10`

will produce a sequence `5, 6, 7, 8, 9, 10`

. Apply this technique in the upcoming task.

Task

Considering the same dataset of blood types in a factor format, here are your tasks:

- Display the 3rd, 10th, and 15th elements of
`blood_gr`

, making sure to drop any unused levels (using the`drop`

parameter). - Show every element from the 15th to the 21st, inclusive.

Thanks for your feedback!

# Indexing in Factors

Excellent! Now, let's delve into how to **manipulate** or **modify** an existing factor variable.

To begin, we can specify which values to display by using **indexing**. This operates in the same way as indexing a vector. For instance, to show the **third** and **fifth** entries of the `curr_f`

factor, we can use the following indexing:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5)]`

When R presents the output, it lists all levels beneath, even though only a couple of categorical values were shown. This feature becomes particularly handy when dealing with **extensive data** and trying to remember all the unique values is impractical.

If it's not necessary to display every level, you can include the `drop = TRUE`

(or `drop = T`

) parameter within the brackets `[]`

. This will show only the levels **retrieved from indexing**. The same operation as mentioned earlier would be written like this:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5), drop = T]`

Using individual indices may not be practical when you need to extract a series of elements. In R, you can generate a **vector of consecutive integers** by separating the starting and ending numbers with a colon `:`

. For instance, `5:10`

will produce a sequence `5, 6, 7, 8, 9, 10`

. Apply this technique in the upcoming task.

Task

Considering the same dataset of blood types in a factor format, here are your tasks:

- Display the 3rd, 10th, and 15th elements of
`blood_gr`

, making sure to drop any unused levels (using the`drop`

parameter). - Show every element from the 15th to the 21st, inclusive.

Thanks for your feedback!

# Indexing in Factors

Excellent! Now, let's delve into how to **manipulate** or **modify** an existing factor variable.

To begin, we can specify which values to display by using **indexing**. This operates in the same way as indexing a vector. For instance, to show the **third** and **fifth** entries of the `curr_f`

factor, we can use the following indexing:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5)]`

When R presents the output, it lists all levels beneath, even though only a couple of categorical values were shown. This feature becomes particularly handy when dealing with **extensive data** and trying to remember all the unique values is impractical.

If it's not necessary to display every level, you can include the `drop = TRUE`

(or `drop = T`

) parameter within the brackets `[]`

. This will show only the levels **retrieved from indexing**. The same operation as mentioned earlier would be written like this:

`# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and the fifth values curr_f[c(3,5), drop = T]`

Using individual indices may not be practical when you need to extract a series of elements. In R, you can generate a **vector of consecutive integers** by separating the starting and ending numbers with a colon `:`

. For instance, `5:10`

will produce a sequence `5, 6, 7, 8, 9, 10`

. Apply this technique in the upcoming task.

Task

Considering the same dataset of blood types in a factor format, here are your tasks:

- Display the 3rd, 10th, and 15th elements of
`blood_gr`

, making sure to drop any unused levels (using the`drop`

parameter). - Show every element from the 15th to the 21st, inclusive.

Thanks for your feedback!

Excellent! Now, let's delve into how to **manipulate** or **modify** an existing factor variable.

**indexing**. This operates in the same way as indexing a vector. For instance, to show the **third** and **fifth** entries of the `curr_f`

factor, we can use the following indexing:

**extensive data** and trying to remember all the unique values is impractical.

`drop = TRUE`

(or `drop = T`

) parameter within the brackets `[]`

. This will show only the levels **retrieved from indexing**. The same operation as mentioned earlier would be written like this:

**vector of consecutive integers** by separating the starting and ending numbers with a colon `:`

. For instance, `5:10`

will produce a sequence `5, 6, 7, 8, 9, 10`

. Apply this technique in the upcoming task.

Task

Considering the same dataset of blood types in a factor format, here are your tasks:

- Display the 3rd, 10th, and 15th elements of
`blood_gr`

, making sure to drop any unused levels (using the`drop`

parameter). - Show every element from the 15th to the 21st, inclusive.