[R] looking for the na.omit equivalent for a matrix of characters

Stephen Tucker brown_emu at yahoo.com
Tue May 29 06:33:26 CEST 2007


You can also use type.convert() if you did want to convert your characters to
numbers and "NA"'s to NA's so that you can use na.omit().

> x <- matrix("0",5,5)
> x[1,3] <- x[4,4] <- "NA"
> newx <- apply(x,2,type.convert)
> newx
     [,1] [,2] [,3] [,4] [,5]
[1,]    0    0   NA    0    0
[2,]    0    0    0    0    0
[3,]    0    0    0    0    0
[4,]    0    0    0   NA    0
[5,]    0    0    0    0    0

--- jim holtman <jholtman at gmail.com> wrote:

> Since they are characters you can just compare for them.  You did not show
> what your data looks like, or what you want to do if there are "NA".  Do
> you
> want the row removed?  You can use 'apply' to test a row for "NA":
> 
>  > x <- matrix("0",5,5)
> > x[1,3] <- x[4,4] <- "NA"
> > x
>      [,1] [,2] [,3] [,4] [,5]
> [1,] "0"  "0"  "NA" "0"  "0"
> [2,] "0"  "0"  "0"  "0"  "0"
> [3,] "0"  "0"  "0"  "0"  "0"
> [4,] "0"  "0"  "0"  "NA" "0"
> [5,] "0"  "0"  "0"  "0"  "0"
> > apply(x, 1, function(z) any(z == "NA"))
> [1]  TRUE FALSE FALSE  TRUE FALSE
> > x[!apply(x, 1, function(z) any(z == "NA")),]
>      [,1] [,2] [,3] [,4] [,5]
> [1,] "0"  "0"  "0"  "0"  "0"
> [2,] "0"  "0"  "0"  "0"  "0"
> [3,] "0"  "0"  "0"  "0"  "0"
> >
> 
> 
> 
> On 5/28/07, Andrew Yee <andrewjyee at gmail.com> wrote:
> >
> > I have a matrix of characters (actually numbers that have been read in as
> > numbers), and I'd like to remove the NA.
> >
> > I'm familiar with na.omit, but is there an equivalent of na.omit when the
> > NA
> > are the actual characters "NA"?
> >
> > Thanks,
> > Andrew
> >
> >        [[alternative HTML version deleted]]
> >
> > ______________________________________________
> > R-help at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-help
> > PLEASE do read the posting guide
> > http://www.R-project.org/posting-guide.html
> > and provide commented, minimal, self-contained, reproducible code.
> >
> 
> 
> 
> -- 
> Jim Holtman
> Cincinnati, OH
> +1 513 646 9390
> 
> What is the problem you are trying to solve?
> 
> 	[[alternative HTML version deleted]]
> 
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
> 



       
____________________________________________________________________________________Sick sense of humor? Visit Yahoo! TV's 
Comedy with an Edge to see what's on, when.



More information about the R-help mailing list