11.1 C
London
Sunday, July 7, 2024
HomeStatistics TutorialRHow to Replace Values in Data Frame in R (With Examples)

How to Replace Values in Data Frame in R (With Examples)

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

You can use the following syntax to replace a particular value in a data frame in R with a new value:

df[df == 'Old Value'] New value'

You can use the following syntax to replace one of several values in a data frame with a new value:

df[df == 'Old Value 1' | df == 'Old Value 2'] New value'

And you can use the following syntax to replace a particular value in a specific column of a data frame with a new value:

df['column1'][df['column1'] == 'Old Value'] New value'

The following examples show how to use this syntax in practice.

Example 1: Replace Particular Value Across Entire Data Frame

The following code shows how to replace one particular value with a new value across an entire data frame:

#create data frame
df frame(a = as.factor(c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  a b  c  d
1 1 A 14  3
2 5 B 14  7
3 7 C 19 14
4 8 D 22 11

#replace '14' with '24' across entire data frame
df[df == 14] #view updated data frame
df 

  a b  c  d
1 1 A 24  3
2 5 B 24  7
3 7 C 19 24
4 8 D 22 11

Example 2: Replace One of Several Values Across Entire Data Frame

The following code shows how to replace one of several values with a new value across an entire data frame:

#create data frame
df frame(a = as.factor(c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  a b  c  d
1 1 A 14  3
2 5 B 14  7
3 7 C 19 14
4 8 D 22 11

#replace '14' and '19' with '24' across entire data frame
df[df == 14 | df == 19] #view updated data frame
df

  a b  c  d
1 1 A 24  3
2 5 B 24  7
3 7 C 24 24
4 8 D 22 11

Example 3: Replace Value in Specific Column of Data Frame

The following code shows how to replace one particular value with a new value in a specific column of a data frame:

#create data frame
df frame(a = as.factor(c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#view data frame
df

  a b  c  d
1 1 A 14  3
2 5 B 14  7
3 7 C 19 14
4 8 D 22 11

#replace '14' in column c with '24'
df['c'][df['c'] == 14] #view updated data frame
df 

  a b  c  d
1 1 A 24  3
2 5 B 24  7
3 7 C 19 14
4 8 D 22 11

Example 4: Replace Values of a Factor Variable in Data Frame

If you attempt to replace a particular value of a factor variable, you will encounter the following warning message:

#create data frame
df frame(a = as.factor(c(1, 5, 7, 8)),
                 b = c('A', 'B', 'C', 'D'),
                 c = c(14, 14, 19, 22),
                 d = c(3, 7, 14, 11))

#attempt to replace '1' with '24' in column a
df['a'][df['a'] == 1]  A 14  3
2    5 B 14  7
3    7 C 19 14
4    8 D 22 11

To avoid this warning, you need to first convert the factor variable to a numeric variable:

#convert column a to numeric
df$a numeric(as.character(df$a))

#replace '1' with '24' in column a
df['a'][df['a'] == 1] #view updated data frame
df

   a b  c  d
1 24 A 14  3
2  5 B 14  7
3  7 C 19 14
4  8 D 22 11

Additional Resources

How to Replace NAs with Strings in R
How to Impute Missing Values in R

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories