- Data Structure
- Networking
- RDBMS
- Operating System
- Java
- MS Excel
- iOS
- HTML
- CSS
- Android
- Python
- C Programming
- C++
- C#
- MongoDB
- MySQL
- Javascript
- PHP
- Physics
- Chemistry
- Biology
- Mathematics
- English
- Economics
- Psychology
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to replace NA’s to a value of selected columns in an R data frame?
In data analysis, finding some NA values in a data frame is very common but all the NA values do not create problems if the column that contain NA values is not useful for the analysis. We can replace all NA values to 0 or to any other for the columns that are useful.
Example
Consider the below data frame −
> set.seed(99) > x1<-sample(c(5,10,15,NA),20,replace=TRUE) > x2<-sample(c(1,2,3,NA),20,replace=TRUE) > x3<-sample(c(20,21,22,23,24,25,NA),20,replace=TRUE) > x4<-sample(c(letters[1:10],NA),20,replace=TRUE) > x5<-sample(c(1:10,NA),20,replace=TRUE) > df<-data.frame(x1,x2,x3,x4,x5) > df x1 x2 x3 x4 x5 1 NA NA 25 <NA> NA 2 5 2 24 f 2 3 NA 2 25 i 7 4 10 NA 23 i 10 5 10 1 21 c 3 6 5 NA NA h NA 7 15 2 20 g 10 8 10 NA 25 d 10 9 10 2 23 c 5 10 10 1 NA f 8 11 NA 3 25 <NA> 5 12 10 2 NA h 4 13 NA 3 25 g 1 14 5 2 NA c 8 15 NA 2 NA <NA> 3 16 NA NA 23 f 7 17 15 1 24 <NA> 9 18 NA NA NA b 3 19 5 3 NA d 3 20 10 2 20 g 8
Changing NA’s to zero of consecutive columns −
> df[,c("x1","x2")][is.na(df[,c("x1","x2")])] <- 0 > df x1 x2 x3 x4 x5 1 0 0 25 <NA> NA 2 5 2 24 f 2 3 0 2 25 i 7 4 10 0 23 i 10 5 10 1 21 c 3 6 5 0 NA h NA 7 15 2 20 g 10 8 10 0 25 d 10 9 10 2 23 c 5 10 10 1 NA f 8 11 0 3 25 <NA> 5 12 10 2 NA h 4 13 0 3 25 g 1 14 5 2 NA c 8 15 0 2 NA <NA> 3 16 0 0 23 f 7 17 15 1 24 <NA> 9 18 0 0 NA b 3 19 5 3 NA d 3 20 10 2 20 g 8
Changing NA’s to zero of non-consecutive columns −
> df[,c("x3","x5")][is.na(df[,c("x3","x5")])] <- 0 > df x1 x2 x3 x4 x5 1 0 0 25 <NA> 0 2 5 2 24 f 2 3 0 2 25 i 7 4 10 0 23 i 10 5 10 1 21 c 3 6 5 0 0 h 0 7 15 2 20 g 10 8 10 0 25 d 10 9 10 2 23 c 5 10 10 1 0 f 8 11 0 3 25 <NA> 5 12 10 2 0 h 4 13 0 3 25 g 1 14 5 2 0 c 8 15 0 2 0 <NA> 3 16 0 0 23 f 7 17 15 1 24 <NA> 9 18 0 0 0 b 3 19 5 3 0 d 3 20 10 2 20 g 8
Advertisements