
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Convert String in R Data Frame to NA
We often see mistakes in data collection processes and these mistakes might lead to incorrect results of the research. When the data is collected with mistakes, it makes the job of analyst difficult. One of the situations, that shows the data has mistakes is getting strings in place of numerical values. Therefore, we need to convert these strings to NA in R so that we can proceed with our intended analysis.
Example
Consider the below data frame −
> x1<-rep(c(1,3,6,7,5,2,"XYZ",12,4,5),times=2) > x2<-rep(c(67,"XYZ",45,32,52),each=4) > df<-data.frame(x1,x2) > df x1 x2 1 1 67 2 3 67 3 6 67 4 7 67 5 5 XYZ 6 2 XYZ 7 XYZ XYZ 8 12 XYZ 9 4 45 10 5 45 11 1 45 12 3 45 13 6 32 14 7 32 15 5 32 16 2 32 17 XYZ 52 18 12 52 19 4 52 20 5 52
Converting all XYZ’s to NA −
> df[df=="XYZ"]<-NA > df x1 x2 1 1 67 2 3 67 3 6 67 4 7 67 5 5 <NA> 6 2 <NA> 7 <NA> <NA> 8 12 <NA> 9 4 45 10 5 45 11 1 45 12 3 45 13 6 32 14 7 32 15 5 32 16 2 32 17 <NA> 52 18 12 52 19 4 52 20 5 52
Let’s have a look at one more example −
> ID<-c("Class",2:20) > ID<-c("Class",1:19) > Group<-rep(c("Class",2,3,4,5),times=4) > df1<-data.frame(ID,Group) > df1 ID Group 1 Class Class 2 1 2 3 2 3 4 3 4 5 4 5 6 5 Class 7 6 2 8 7 3 9 8 4 10 9 5 11 10 Class 12 11 2 13 12 3 14 13 4 15 14 5 16 15 Class 17 16 2 18 17 3 19 18 4 20 19 5 > df1[df1=="Class"]<-NA > df1 ID Group 1 <NA> <NA> 2 1 2 3 2 3 4 3 4 5 4 5 6 5 <NA> 7 6 2 8 7 3 9 8 4 10 9 5 11 10 <NA> 12 11 2 13 12 3 14 13 4 15 14 5 16 15 <NA> 17 16 2 18 17 3 19 18 4 20 19 5
Advertisements