Bird
Raised Fist0
R Programmingprogramming~10 mins

Adding and removing columns in R Programming - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to add a new column age with value 30 to the data frame df.

R Programming
df$age <- [1]
Drag options to blanks, or click blank then click option'
A30
B"age"
Cage
Dc(30)
Attempts:
3 left
💡 Hint
Common Mistakes
Using quotes around 30 makes it a string, not a number.
Assigning the column name instead of the value.
2fill in blank
medium

Complete the code to remove the column age from the data frame df.

R Programming
df <- df[ , [1] ]
Drag options to blanks, or click blank then click option'
Anames(df) == "age"
B!(names(df) == "age")
C"age"
Dnames(df) != "age"
Attempts:
3 left
💡 Hint
Common Mistakes
Using == instead of != selects only the column to remove.
Using quotes alone does not filter columns.
3fill in blank
hard

Fix the error in the code to add a new column height with values from the vector c(160, 170, 180).

R Programming
df$height <- [1]
Drag options to blanks, or click blank then click option'
Ac(160, 170, 180)
B[160, 170, 180]
C(160, 170, 180)
Dlist(160, 170, 180)
Attempts:
3 left
💡 Hint
Common Mistakes
Using square brackets which are not vector constructors in R.
Using parentheses without c().
4fill in blank
hard

Fill both blanks to add a new column weight with values from c(60, 70, 80) and then remove the column age.

R Programming
df$[1] <- c(60, 70, 80)
df <- df[ , [2] ]
Drag options to blanks, or click blank then click option'
Aweight
Bnames(df) != "age"
Cnames(df) == "age"
Dage
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong column name in the first blank.
Using == instead of != in the second blank.
5fill in blank
hard

Fill all three blanks to create a new column with uppercase names from df$name, add a column score with values c(90, 85, 88), and remove the column height.

R Programming
df$[1] <- toupper(df$name)
df$score <- [2]
df <- df[ , [3] ]
Drag options to blanks, or click blank then click option'
Aname_upper
Bc(90, 85, 88)
Cnames(df) != "height"
Dheight
Attempts:
3 left
💡 Hint
Common Mistakes
Using the wrong new column name.
Not using c() for the vector.
Using == instead of != to remove the column.

Practice

(1/5)
1. In R, how do you add a new column named age with values c(25, 30, 35) to an existing dataframe df?
easy
A. df <- c(df, age = c(25, 30, 35))
B. df[age] = c(25, 30, 35)
C. df$age <- c(25, 30, 35)
D. df$age = NULL

Solution

  1. Step 1: Understand how to add columns in R

    In R, you add a new column to a dataframe by assigning a vector to df$column_name.
  2. Step 2: Apply the assignment for the new column

    Assigning c(25, 30, 35) to df$age adds the new column age with those values.
  3. Final Answer:

    df$age <- c(25, 30, 35) -> Option C
  4. Quick Check:

    Use $ and assign vector to add column [OK]
Hint: Use df$column <- values to add columns fast [OK]
Common Mistakes:
  • Using NULL to add a column instead of removing
  • Trying to add column with c() outside assignment
  • Using incorrect dataframe syntax like c(df, ...)
2. Which of the following is the correct syntax to remove the column height from dataframe df in R?
easy
A. df$height <- NULL
B. df$height = c()
C. df$height <- NA
D. remove(df$height)

Solution

  1. Step 1: Recall how to remove columns in R

    Assigning NULL to a dataframe column removes it completely.
  2. Step 2: Apply removal syntax

    Setting df$height <- NULL deletes the height column from df.
  3. Final Answer:

    df$height <- NULL -> Option A
  4. Quick Check:

    Assign NULL to remove column [OK]
Hint: Remove columns by assigning NULL: df$col <- NULL [OK]
Common Mistakes:
  • Assigning empty vector c() instead of NULL
  • Assigning NA which keeps column but fills with missing
  • Using remove() which is not for dataframe columns
3. What will be the output of the following R code?
df <- data.frame(name = c("Ann", "Bob"), score = c(90, 85))
df$passed <- c(TRUE, FALSE)
df$score <- NULL
df
medium
A. A dataframe with columns: name, passed
B. A dataframe with columns: name, score, passed
C. A dataframe with columns: name, score
D. Error because score column cannot be removed

Solution

  1. Step 1: Add new column 'passed'

    The code adds a logical column passed with values TRUE and FALSE.
  2. Step 2: Remove the 'score' column

    Assigning NULL to df$score deletes the score column.
  3. Final Answer:

    A dataframe with columns: name, passed -> Option A
  4. Quick Check:

    Added passed, removed score, left name [OK]
Hint: NULL removes columns; new assignment adds columns [OK]
Common Mistakes:
  • Thinking score column remains after NULL assignment
  • Expecting error on removing existing column
  • Confusing TRUE/FALSE vector with numeric
4. Consider this R code snippet:
df <- data.frame(x = 1:3, y = 4:6)
df$z = c(7, 8)
df$y <- NULL
df

What is the problem and how to fix it?
medium
A. Error because data.frame cannot have NULL columns; fix by using list
B. No error; code runs fine and removes y column
C. Error because NULL cannot remove columns; fix by using NA
D. Warning because length of z vector does not match rows; fix by matching length

Solution

  1. Step 1: Check length of new column vector

    The dataframe has 3 rows, but c(7, 8) has length 2, causing a length mismatch warning.
  2. Step 2: Fix by providing vector of correct length

    Use c(7, 8, 9) or recycle values properly to match 3 rows.
  3. Final Answer:

    Warning due to length mismatch; fix by matching vector length -> Option D
  4. Quick Check:

    New column vector length must match dataframe rows [OK]
Hint: New column vector length must equal dataframe rows [OK]
Common Mistakes:
  • Ignoring vector length mismatch causing warning
  • Thinking NULL cannot remove columns
  • Trying to assign NA to remove columns
5. You have a dataframe df with columns id, score1, and score2. You want to create a new column average that is the mean of score1 and score2, then remove score1 and score2. Which code correctly does this?
hard
A. df$average <- mean(df$score1, df$score2) df$score1 <- NULL df$score2 <- NULL
B. df$average <- rowMeans(df[c("score1", "score2")]) df$score1 <- NULL df$score2 <- NULL
C. df$average <- mean((df$score1 + df$score2) / 2) df$score1 <- NULL df$score2 <- NULL
D. df$average <- (score1 + score2) / 2 df$score1 <- NULL df$score2 <- NULL

Solution

  1. Step 1: Calculate average of two columns row-wise

    Use rowMeans() on the subset df[c("score1", "score2")] to get the mean for each row.
  2. Step 2: Remove the original score columns

    Assign NULL to df$score1 and df$score2 to delete them.
  3. Final Answer:

    df$average <- rowMeans(df[c("score1", "score2")]) df$score1 <- NULL df$score2 <- NULL -> Option B
  4. Quick Check:

    Use rowMeans() for row-wise average, then remove columns [OK]
Hint: Use rowMeans() for row averages, then assign NULL to remove [OK]
Common Mistakes:
  • Using mean() which computes overall mean, not row-wise
  • Referencing columns without df$ prefix
  • Trying to remove columns by assigning NA
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