Bird
Raised Fist0
R Programmingprogramming~20 mins

Data frame creation in R Programming - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Data Frame Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this data frame creation?
Consider the following R code that creates a data frame. What will be the output when printed?
R Programming
df <- data.frame(Name = c("Anna", "Bob"), Age = c(25, 30))
print(df)
A
  Name Age
1 Anna  25
2 Bob   30
B
  Name Age
1 Anna  30
2 Bob   25
C
  Name Age
1 25   Anna
2 30   Bob
DError: object 'df' not found
Attempts:
2 left
💡 Hint
Look at how vectors are assigned to columns in data.frame.
❓ Predict Output
intermediate
1:30remaining
What is the number of rows in this data frame?
Given this R code, how many rows does the data frame 'df' have?
R Programming
df <- data.frame(ID = 1:4, Score = c(88, 92, 79, 85))
nrow(df)
A1
B2
C4
DError: object 'df' not found
Attempts:
2 left
💡 Hint
nrow() returns the number of rows in a data frame.
🔧 Debug
advanced
2:00remaining
Why does this data frame creation code produce an error?
Examine the code below. Why does it cause an error when run?
R Programming
df <- data.frame(Name = c("Alice", "Bob"), Age = c(30))
ABecause Age vector must be a factor, not numeric
BBecause the vectors for columns have different lengths
CBecause the Name vector is missing a closing quote
DBecause the data.frame function requires numeric columns only
Attempts:
2 left
💡 Hint
Check if all columns have the same number of elements.
🧠 Conceptual
advanced
2:30remaining
What happens if you create a data frame with a list column?
Consider this R code creating a data frame with a list column. What is the structure of the resulting data frame?
R Programming
df <- data.frame(ID = 1:2, Values = I(list(c(1,2), c(3,4))))
str(df)
AA data frame with 2 rows and a list column where each cell contains a numeric vector
BA data frame with 2 rows and a numeric column with combined values
CAn error because data frames cannot have list columns
DA data frame with 4 rows, each with a single numeric value
Attempts:
2 left
💡 Hint
The I() function inhibits conversion and allows list columns.
❓ Predict Output
expert
3:00remaining
What is the output of this complex data frame creation?
What will be printed when running this R code?
R Programming
df <- data.frame(
  Name = c("Tom", "Jerry"),
  Age = c(5, 7),
  stringsAsFactors = FALSE
)
df$Age <- df$Age + 1
print(df)
A
   Name Age
1   Tom  51
2 Jerry  71
B
   Name Age
1   Tom   5
2 Jerry   7
CError: object 'df' not found
D
   Name Age
1   Tom   6
2 Jerry   8
Attempts:
2 left
💡 Hint
Adding 1 to the Age column increases each age by one.

Practice

(1/5)
1. What is the main purpose of a data.frame in R?
easy
A. To store data in rows and columns like a spreadsheet
B. To perform mathematical calculations only
C. To create graphical plots
D. To write text files

Solution

  1. Step 1: Understand the structure of a data frame

    A data frame organizes data in rows and columns, similar to a spreadsheet.
  2. Step 2: Identify the main use

    It is mainly used to store and analyze mixed types of data together.
  3. Final Answer:

    To store data in rows and columns like a spreadsheet -> Option A
  4. Quick Check:

    Data frame = tabular data storage [OK]
Hint: Think spreadsheet style data storage [OK]
Common Mistakes:
  • Confusing data frames with plotting functions
  • Thinking data frames only do math
  • Assuming data frames are for text files
2. Which of the following is the correct way to create a data frame with columns age and name in R?
easy
A. data.frame(age = [25, 30], name = ["Alice", "Bob"])
B. data.frame(c(25, 30), c("Alice", "Bob"))
C. data.frame(age: c(25, 30), name: c("Alice", "Bob"))
D. data.frame(age = c(25, 30), name = c("Alice", "Bob"))

Solution

  1. Step 1: Check syntax for named columns

    In R, data.frame() uses the syntax column_name = vector to name columns.
  2. Step 2: Identify correct vector syntax

    Vectors are created with c(), so c(25, 30) and c("Alice", "Bob") are correct.
  3. Final Answer:

    data.frame(age = c(25, 30), name = c("Alice", "Bob")) -> Option D
  4. Quick Check:

    Correct syntax uses = and c() [OK]
Hint: Use = to name columns and c() for vectors [OK]
Common Mistakes:
  • Using colons (:) instead of =
  • Using brackets [] instead of c()
  • Omitting column names
3. What will be the output of the following R code?
df <- data.frame(x = c(1, 2), y = c("a", "b"))
print(df)
medium
A. x y 1 1 a 2 2 b
B. b 2 2 a 1 1 y x
C. [1] 1 2 [1] "a" "b"
D. Error: object 'df' not found

Solution

  1. Step 1: Understand data frame creation

    The code creates a data frame with two columns: x (numbers) and y (characters).
  2. Step 2: Understand print output format

    Printing a data frame shows row numbers and columns with their values in a table format.
  3. Final Answer:

    x y 1 1 a 2 2 b -> Option A
  4. Quick Check:

    Print data frame shows rows and columns [OK]
Hint: Print shows row numbers and columns in table form [OK]
Common Mistakes:
  • Ignoring row numbers in output
  • Confusing vector print with data frame print
  • Expecting error when none occurs
4. Identify the error in the following R code that tries to create a data frame:
df <- data.frame(age = c(20, 25), name = c("John"))
medium
A. Missing comma between vectors
B. Incorrect use of quotes around names
C. Vectors have different lengths causing recycling warning
D. data.frame() cannot mix numeric and character vectors

Solution

  1. Step 1: Check vector lengths

    The age vector has length 2, but name vector has length 1.
  2. Step 2: Understand recycling rule

    R recycles shorter vectors to match longer ones, causing a warning when lengths differ.
  3. Final Answer:

    Vectors have different lengths causing recycling warning -> Option C
  4. Quick Check:

    Unequal vector lengths cause recycling warning [OK]
Hint: Ensure all vectors have same length in data.frame() [OK]
Common Mistakes:
  • Assuming data.frame() needs all vectors same type
  • Thinking missing commas cause error here
  • Confusing quotes usage
5. You want to create a data frame from two vectors: ids = c(101, 102, 103) and scores = c(88, 92, 85). Then add a new column passed which is TRUE if score ≥ 90, otherwise FALSE. Which code correctly does this?
hard
A. All of the above
B. df <- data.frame(ids, scores, passed = scores >= 90)
C. df <- data.frame(ids, scores) df$passed <- if(scores >= 90, TRUE, FALSE)
D. df <- data.frame(ids, scores) df$passed <- passed >= 90

Solution

  1. Step 1: Check the one-line data.frame creation

    df <- data.frame(ids, scores, passed = scores ≥ 90) correctly names columns from variable names and computes passed as logical vector.
  2. Step 2: Eliminate incorrect options

    The two-line option using if(scores ≥ 90, TRUE, FALSE) has invalid syntax for if. The other two-line uses undefined passed in passed ≥ 90. All of the above is false.
  3. Final Answer:

    df <- data.frame(ids, scores, passed = scores ≥ 90) -> Option B
  4. Quick Check:

    Valid: column computation inside data.frame() [OK]
Hint: Create computed columns directly in data.frame() [OK]
Common Mistakes:
  • Trying to add columns before creating data frame
  • Using incorrect logical syntax
  • Not using vectorized operations
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