Bird
Raised Fist0
R Programmingprogramming~5 mins

Named vectors in R Programming

Choose your learning style10 modes available
Introduction

Named vectors let you give names to each value in a list of numbers or words. This makes it easier to find and understand the data.

You want to label each number in a list so you remember what it means.
You need to access values by name instead of by position.
You want to print data with clear labels for better understanding.
You are working with small sets of related data like scores or measurements.
You want to make your code easier to read by using meaningful names.
Syntax
R Programming
vector <- c(name1 = value1, name2 = value2, name3 = value3)

Use the c() function to create a vector with names.

Each name is followed by an equals sign = and then the value.

Examples
This creates a named vector with three subjects and their scores.
R Programming
scores <- c(math = 90, science = 85, english = 88)
Here, days of the week are names for temperature values.
R Programming
temps <- c(Monday = 22, Tuesday = 24, Wednesday = 20)
Named vector with color names and their hex codes as strings.
R Programming
colors <- c(red = "#FF0000", green = "#00FF00", blue = "#0000FF")
Sample Program

This program creates a named vector of fruits with quantities. It prints the whole vector, then the quantity of bananas, and finally the names of all fruits.

R Programming
fruits <- c(apple = 3, banana = 5, orange = 2)
print(fruits)
print(fruits["banana"])
print(names(fruits))
OutputSuccess
Important Notes

You can access values by their names using square brackets and quotes, like vector["name"].

Names help you avoid mistakes when the order of values changes.

Named vectors work well for small sets of data but for bigger data, consider other structures like data frames.

Summary

Named vectors let you label each value for easier access and understanding.

You create them using c(name = value) syntax.

Access values by name using vector["name"].

Practice

(1/5)
1. What is a named vector in R?
easy
A. A vector that only contains numeric values
B. A vector where each element has a name label for easy access
C. A vector that cannot be modified after creation
D. A vector that stores only character strings

Solution

  1. Step 1: Understand vector naming

    Named vectors have names assigned to each element, making it easier to access elements by name.
  2. Step 2: Compare options

    Only A vector where each element has a name label for easy access correctly describes a named vector as having name labels for elements.
  3. Final Answer:

    A vector where each element has a name label for easy access -> Option B
  4. Quick Check:

    Named vector = vector with names [OK]
Hint: Named vectors have labels for elements, not just values [OK]
Common Mistakes:
  • Thinking named vectors only hold numbers
  • Confusing named vectors with immutable vectors
  • Assuming named vectors store only strings
2. Which of the following is the correct way to create a named vector in R?
easy
A. c(apple = 5, banana = 3, cherry = 7)
B. vector(apple:5, banana:3, cherry:7)
C. named_vector(5, 3, 7, names = c('apple', 'banana', 'cherry'))
D. c(5 = apple, 3 = banana, 7 = cherry)

Solution

  1. Step 1: Recall named vector syntax

    Named vectors are created using c(name = value) pairs.
  2. Step 2: Check each option

    c(apple = 5, banana = 3, cherry = 7) uses correct syntax: c(apple = 5, banana = 3, cherry = 7). Others use invalid syntax or functions.
  3. Final Answer:

    c(apple = 5, banana = 3, cherry = 7) -> Option A
  4. Quick Check:

    Use c(name = value) to create named vectors [OK]
Hint: Use c(name = value) pairs to create named vectors [OK]
Common Mistakes:
  • Using colons instead of equals for naming
  • Trying to use non-existent functions like named_vector()
  • Placing values before names incorrectly
3. What will be the output of the following R code?
fruits <- c(apple = 10, banana = 5, cherry = 8)
fruits["banana"]
medium
A. 5
B. "banana"
C. Error: object not found
D. c(banana = 5)

Solution

  1. Step 1: Understand named vector indexing

    Accessing a named vector element by name returns a named vector of length 1 with that element.
  2. Step 2: Analyze the code output

    fruits["banana"] returns a named vector with name 'banana' and value 5, shown as c(banana = 5).
  3. Final Answer:

    c(banana = 5) -> Option D
  4. Quick Check:

    Access by name returns named vector element [OK]
Hint: Accessing by name returns named vector element, not just value [OK]
Common Mistakes:
  • Expecting just the value without name
  • Confusing output with string name
  • Assuming it causes an error
4. Identify the error in the following R code that tries to create a named vector:
numbers <- c(1 = "one", 2 = "two", 3 = "three")
medium
A. Values and names are reversed; names should be strings on the left
B. The syntax uses numbers as names incorrectly; names must be on the left side
C. Numbers cannot be used as names in named vectors
D. The c() function cannot create named vectors

Solution

  1. Step 1: Check named vector syntax

    Named vectors use name = value pairs, with names on the left and values on the right.
  2. Step 2: Analyze the code

    The code uses numbers on the left and strings on the right, which reverses the expected order.
  3. Final Answer:

    Values and names are reversed; names should be strings on the left -> Option A
  4. Quick Check:

    Names = values, not values = names [OK]
Hint: Names must be on left side, values on right in c(name = value) [OK]
Common Mistakes:
  • Putting values on left and names on right
  • Thinking numbers cannot be names (they can as strings)
  • Believing c() can't create named vectors
5. Given the named vector temps <- c(Mon = 22, Tue = 25, Wed = 20, Thu = 23), how would you create a new named vector with only days where temperature is above 22?
hard
A. temps[">22"]
B. temps[temps < 22]
C. temps[temps > 22]
D. temps[temps == 22]

Solution

  1. Step 1: Understand logical indexing with named vectors

    You can use a logical condition inside square brackets to filter elements.
  2. Step 2: Apply condition temps > 22

    temps > 22 returns TRUE for days with temperature above 22, so temps[temps > 22] selects those days.
  3. Final Answer:

    temps[temps > 22] -> Option C
  4. Quick Check:

    Use logical condition inside brackets to filter named vectors [OK]
Hint: Use temps[temps > value] to filter named vectors by condition [OK]
Common Mistakes:
  • Using incorrect comparison operators
  • Trying to index by string '>22' which is invalid
  • Selecting equal or less than values instead of greater
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard