Skip to content
Related Articles
Get the best out of our app
GeeksforGeeks App
Open App
geeksforgeeks
Browser
Continue

Related Articles

How to Replace NAs with Strings in R?

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

In this article, we will discuss how to Replace NAs with strings in R Programming Language. NA stands for Not a Number, we can replace NA with strings in the dataframe.

Create Dataframe for demonestration:

R




# create a dataframe
data = data.frame(name = c("sravan","ojaswi",NA,"ramesh"),
                  subjects = c(NA,"java","jsp",NA),
                  address = c(NA,"hyd","tenali","guntur"))
  
# display
data

Output:

    name subjects address
1 sravan     <NA>    <NA>
2 ojaswi     java     hyd
3   <NA>      jsp  tenali
4 ramesh     <NA>  guntur

Example 1: Replace NAs with Strings in One Column

we can replace NA’s with strings in particular column using replace_na() function, we have to import tidyr package

Syntax: dataframe$column_name%>% replace_na(‘string’)

where

  1. dataframe  is the input dataframe
  2. column_name is the column replace with the string

R program to replace NAs with string in the given column

R




# load the library
library("tidyr")
  
# create a dataframe
data = data.frame(name = c("sravan","ojaswi",NA,"ramesh"),
                  subjects = c(NA,"java","jsp",NA),
                  address = c(NA,"hyd","tenali","guntur"))
  
# display
print(data)
  
# replace NA with python in subjects column
data$subjects = data$subjects %>% replace_na('python')
  
# replace NA with sri devi in name column
data$name = data$name %>% replace_na('sri devi')
  
print(data)

Output:

   name subjects address
1 sravan     <NA>    <NA>
2 ojaswi     java     hyd
3   <NA>      jsp  tenali
4 ramesh     <NA>  guntur


   name subjects address
1 sravan     <NA>    <NA>
2 ojaswi     java     hyd
3   <NA>      jsp  tenali
4 ramesh     <NA>  guntur

Example 2: Replace NAs with Strings in Multiple Columns

Here we are using the same method as above but, to replace in multiple columns we have to specify multiple columns in a list function

Syntax: dataframe %>% replace_na(list(column1 = ‘string’, column2 = ‘string’,.,columnn = ‘string’,))

R




# load the library
library("tidyr")
  
# create a dataframe
data = data.frame(name = c("sravan","ojaswi",NA,"ramesh"),
                  subjects = c(NA,"java","jsp",NA),
                  address = c(NA,"hyd","tenali","guntur"))
  
# display
print(data)
  
  
# replace NA with python in subjects
# column and sri devi in name column
data = data %>% replace_na(list(subjects='python', name='sri devi'))
  
print(data)

Output:

   name subjects address
1 sravan     <NA>    <NA>
2 ojaswi     java     hyd
3   <NA>      jsp  tenali
4 ramesh     <NA>  guntur


   name subjects address
1 sravan     <NA>    <NA>
2 ojaswi     java     hyd
3   <NA>      jsp  tenali
4 ramesh     <NA>  guntur

My Personal Notes arrow_drop_up
Last Updated : 28 Nov, 2021
Like Article
Save Article
Similar Reads
Related Tutorials