Bird
Raised Fist0
R Programmingprogramming~20 mins

Named vectors in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Named Vector Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of named vector indexing
What is the output of this R code snippet?
R Programming
vec <- c(a = 10, b = 20, c = 30)
result <- vec["b"]
print(result)
Ac 30
Bb 20
C20
DError: object 'b' not found
Attempts:
2 left
💡 Hint
Remember that named vectors keep their names when indexed by name.
❓ Predict Output
intermediate
2:00remaining
Length of named vector after subsetting
What is the length of the vector after this operation?
R Programming
vec <- c(x = 5, y = 15, z = 25)
sub_vec <- vec[c("x", "z")]
length(sub_vec)
A1
B3
C2
DError: invalid subscript type
Attempts:
2 left
💡 Hint
Subsetting by a vector of names returns those elements.
❓ Predict Output
advanced
2:00remaining
Output of modifying named vector elements
What is the output of this code?
R Programming
vec <- c(a = 1, b = 2, c = 3)
vec["b"] <- 10
print(vec)
A
a 1
b 10
c 3
B1 10 3
C
a 1
b 2
c 3
DError: cannot assign to a named vector element
Attempts:
2 left
💡 Hint
You can assign new values to named vector elements by name.
❓ Predict Output
advanced
2:00remaining
Result of unnamed indexing on named vector
What will this code print?
R Programming
vec <- c(one = 100, two = 200, three = 300)
print(vec[2])
Aone 100
B200
CError: subscript out of bounds
Dtwo 200
Attempts:
2 left
💡 Hint
Indexing by position returns a named vector element.
❓ Predict Output
expert
3:00remaining
Output of combining named vectors with overlapping names
What is the output of this R code?
R Programming
v1 <- c(a = 1, b = 2)
v2 <- c(b = 3, c = 4)
combined <- c(v1, v2)
print(combined)
A
a 1
b 2
b 3
c 4
B
a 1
b 5
c 4
C
a 1
b 3
c 4
DError: duplicate names not allowed
Attempts:
2 left
💡 Hint
Combining vectors concatenates elements and keeps all names, even duplicates.

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