R Beginner Exercises: 50 Practice Problems for Newcomers
Fifty beginner-friendly R practice problems covering vectors, arithmetic, basic statistics, control flow, functions, plotting, and simple file I/O. Hidden solutions.
Section 1. Vectors and basics (10 problems)
Exercise 1.1: Create a vector
Difficulty: Beginner. Make a numeric vector of 1 through 10.
Show solution
Exercise 1.2: c() to combine
Difficulty: Beginner.
Show solution
Exercise 1.3: Length
Difficulty: Beginner.
Show solution
Exercise 1.4: Vector indexing
Difficulty: Beginner. Get element 3.
Show solution
Exercise 1.5: Negative indexing
Difficulty: Beginner. All except element 2.
Show solution
Exercise 1.6: Range indexing
Difficulty: Beginner. Elements 2 to 4.
Show solution
Exercise 1.7: Logical indexing
Difficulty: Beginner. Values > 25.
Show solution
Exercise 1.8: Named vector
Difficulty: Beginner.
Show solution
Exercise 1.9: seq()
Difficulty: Beginner. Sequence 0 to 1 by 0.1.
Show solution
Exercise 1.10: rep()
Difficulty: Beginner. "a" repeated 5 times.
Show solution
Section 2. Arithmetic and basic stats (10 problems)
Exercise 2.1: Sum
Difficulty: Beginner.
Show solution
Exercise 2.2: Mean
Difficulty: Beginner.
Show solution
Exercise 2.3: Median
Difficulty: Beginner.
Show solution
Exercise 2.4: SD
Difficulty: Beginner.
Show solution
Exercise 2.5: Min and max
Difficulty: Beginner.
Show solution
Exercise 2.6: Range
Difficulty: Beginner.
Show solution
Exercise 2.7: Variance
Difficulty: Beginner.
Show solution
Exercise 2.8: Vectorized arithmetic
Difficulty: Beginner. Multiply each by 2.
Show solution
Exercise 2.9: Element-wise sum
Difficulty: Beginner.
Show solution
Exercise 2.10: Round
Difficulty: Beginner. Round 3.14159 to 2 decimal places.
Show solution
Section 3. Data frames (8 problems)
Exercise 3.1: Create a data frame
Difficulty: Beginner.
Show solution
Exercise 3.2: Access a column with $
Difficulty: Beginner.
Show solution
Exercise 3.3: Number of rows and columns
Difficulty: Beginner.
Show solution
Exercise 3.4: Column names
Difficulty: Beginner.
Show solution
Exercise 3.5: First 5 rows
Difficulty: Beginner.
Show solution
Exercise 3.6: Filter rows
Difficulty: Beginner. mpg > 25.
Show solution
Exercise 3.7: Add a column
Difficulty: Beginner.
Show solution
Exercise 3.8: Summary
Difficulty: Beginner.
Show solution
Section 4. Control flow (6 problems)
Exercise 4.1: if/else
Difficulty: Beginner.
Show solution
Exercise 4.2: ifelse vectorized
Difficulty: Beginner.
Show solution
Exercise 4.3: for loop
Difficulty: Beginner.
Show solution
Exercise 4.4: while loop
Difficulty: Beginner.
Show solution
Exercise 4.5: break
Difficulty: Intermediate.
Show solution
Exercise 4.6: next (skip)
Difficulty: Intermediate.
Show solution
Section 5. Functions (6 problems)
Exercise 5.1: Square function
Difficulty: Beginner.
Show solution
Exercise 5.2: Default argument
Difficulty: Beginner.
Show solution
Exercise 5.3: Multiple arguments
Difficulty: Beginner.
Show solution
Exercise 5.4: Return a vector
Difficulty: Beginner.
Show solution
Exercise 5.5: Anonymous function
Difficulty: Beginner.
Show solution
Exercise 5.6: \() shorthand
Difficulty: Intermediate.
Show solution
Section 6. Plotting (6 problems)
Exercise 6.1: Scatter plot
Difficulty: Beginner.
Show solution
Exercise 6.2: Histogram
Difficulty: Beginner.
Show solution
Exercise 6.3: Boxplot
Difficulty: Beginner.
Show solution
Exercise 6.4: Bar chart
Difficulty: Beginner.
Show solution
Exercise 6.5: Line chart
Difficulty: Beginner.
Show solution
Exercise 6.6: Title and axis labels
Difficulty: Beginner.
Show solution
Section 7. NA and types (4 problems)
Exercise 7.1: Detect NA
Difficulty: Beginner.
Show solution
Exercise 7.2: Mean ignoring NA
Difficulty: Beginner.
Show solution
Exercise 7.3: Class of an object
Difficulty: Beginner.
Show solution
Exercise 7.4: Coerce to numeric
Difficulty: Beginner.
Show solution
What to do next
- dplyr-Exercises (shipped), modern wrangling.
- R-for-Data-Science-Exercises (shipped), broader practice mapped to R4DS topics.
- R-Interview-Questions (shipped), once basics feel solid.