[R] replace non numeric with "NA"

Duncan Murdoch murdoch.duncan at gmail.com
Fri Apr 29 15:53:06 CEST 2011


On 29/04/2011 6:45 AM, Nandini B wrote:
>   Hello,
> I have a sample data frame which looks like this
>    day      od       month
> 1   1     0.1            2
> 2   3 #VALUE!     1
> 3   5     0.4             12
> 4   7     0.8             10
> 5  11       -              3
> 6  14       s             7
> 7  18      --             12
> 8  27      19            7
>
>
> Now i wish to filter all the non numeric values and replace it with "NA". The data frame is actually huge and the non numeric characters vary from "-" to a string to absolutely anything!!!
> Can anyone please help ?

You don't tell use the types of the columns, so I'll assume they are 
factors.  If so, call

as.numeric(as.character())

on each of them to convert the number-like values to numbers, the others 
to NA.  For example,

df$day <- as.numeric(as.character(df$day))

Duncan Murdoch



More information about the R-help mailing list