Bird
Raised Fist0
R Programmingprogramming~5 mins

Adding and removing columns in R Programming - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
How do you add a new column to a data frame in R?
You can add a new column by assigning a vector to a new column name using the $ operator or bracket notation. For example, df$new_column <- c(1, 2, 3) adds a column named new_column.
Click to reveal answer
beginner
What is the syntax to remove a column from a data frame in R?
You can remove a column by setting it to NULL: df$column_to_remove <- NULL. This deletes the column from the data frame.
Click to reveal answer
intermediate
What happens if you assign a vector of different length than the number of rows when adding a column?
R will recycle the vector to match the number of rows, repeating the values to fill the column. A warning is given if its length does not divide evenly into the number of rows.
Click to reveal answer
intermediate
How can you add multiple columns at once to a data frame?
You can add multiple columns by assigning a data frame or list to new columns. For example, df[c('col1', 'col2')] <- list(c(1,2), c(3,4)) adds two columns.
Click to reveal answer
intermediate
Can you remove multiple columns at once? How?
Yes, by setting multiple columns to NULL using their names in brackets: df[c('col1', 'col2')] <- NULL removes both columns.
Click to reveal answer
Which of the following adds a new column named 'age' with values 25, 30, 35 to data frame df?
Adf$age = 25
Bdf['age'] = 25:35
Cdf$age <- c('25', '30', '35')
Ddf$age <- c(25, 30, 35)
How do you remove the column 'salary' from data frame df?
Adf$salary <- NULL
Bdf$salary <- NA
Cdf <- df[-salary]
Dremove(df$salary)
What happens if you add a column with a vector shorter than the number of rows?
AThe column is filled with NA
BR throws an error always
CR recycles the vector values to fill the column
DThe data frame shrinks to match vector length
Which syntax adds two columns 'x' and 'y' at once to df?
Adf[c('x', 'y')] <- list(c(1,2), c(3,4))
Bdf$x, df$y <- c(1,2), c(3,4)
Cdf[c('x', 'y')] <- c(1,2,3,4)
Ddf$xy <- c(1,2,3,4)
How to remove columns 'a' and 'b' from df in one step?
Adf$a <- NULL; df$b <- NULL
Bdf[c('a', 'b')] <- NULL
Cdf <- df[-c('a', 'b')]
Dremove(df$a, df$b)
Explain how to add a new column to a data frame in R and what happens if the vector length differs from the number of rows.
Think about how R handles vectors when adding columns.
You got /3 concepts.
    Describe the methods to remove one or multiple columns from a data frame in R.
    Consider how NULL affects data frame columns.
    You got /3 concepts.

      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