Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Indexing in Factors | Factors
R Introduction

bookIndexing in Factors

Indexing in factors works the same way as with vectors: you select elements by their position or by a sequence of positions.

Basic Indexing

You can retrieve specific values from a factor by placing their indices inside square brackets.

12345
curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and fifth values curr_f[c(3, 5)]
copy

The result shows the selected values, but R still lists all levels of the factor beneath the output.

Dropping Unused Levels

If you want to display only the levels that appear in the result, use the drop = T (T or TRUE) parameter.

12345
curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Show only levels that appear in the result curr_f[c(3, 5), drop = T]
copy

Sequences

When selecting a range of elements, the colon operator (:) generates consecutive indices. For example, 5:10 creates the sequence 5, 6, 7, 8, 9, 10. This makes it easier to extract multiple elements at once.

Task

Swipe to start coding

You have a dataset of blood types in a factor format. Your task is to:

  1. Display the 3rd, 10th, and 15th elements of blood_gr, making sure to drop any unused levels (using the drop parameter).
  2. Show every element from the 15th to the 21st, inclusive.

Solution

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2
single

single

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

Can you explain more about how factors differ from regular vectors in R?

What happens if I try to index a factor with a value that doesn't exist?

Can you show an example of using the colon operator to select a range from a factor?

close

Awesome!

Completion rate improved to 2.27

bookIndexing in Factors

Swipe to show menu

Indexing in factors works the same way as with vectors: you select elements by their position or by a sequence of positions.

Basic Indexing

You can retrieve specific values from a factor by placing their indices inside square brackets.

12345
curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output the third and fifth values curr_f[c(3, 5)]
copy

The result shows the selected values, but R still lists all levels of the factor beneath the output.

Dropping Unused Levels

If you want to display only the levels that appear in the result, use the drop = T (T or TRUE) parameter.

12345
curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Show only levels that appear in the result curr_f[c(3, 5), drop = T]
copy

Sequences

When selecting a range of elements, the colon operator (:) generates consecutive indices. For example, 5:10 creates the sequence 5, 6, 7, 8, 9, 10. This makes it easier to extract multiple elements at once.

Task

Swipe to start coding

You have a dataset of blood types in a factor format. Your task is to:

  1. Display the 3rd, 10th, and 15th elements of blood_gr, making sure to drop any unused levels (using the drop parameter).
  2. Show every element from the 15th to the 21st, inclusive.

Solution

Switch to desktopSwitch to desktop for real-world practiceContinue from where you are using one of the options below
Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 3. ChapterΒ 2
single

single

some-alt