How to Replace NAs with Strings in R?
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
- dataframe is the input dataframe
- 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
Please Login to comment...