[R] Simple numeric "as.is" question
    Peter Dalgaard 
    p.dalgaard at biostat.ku.dk
       
    Mon Mar 15 21:51:17 CET 2004
    
    
  
Timur Elzhov <Timur.Elzhov at jinr.ru> writes:
> On Mon, Mar 15, 2004 at 09:04:05AM -0500, Janet Gannon wrote:
> 
> > I am reading a list of numbers from my clipboard, and have been 
> > successful, except I can't make a histogram as R doesn't recognize my 
> > variable as numeric.  I know I need to use "as.is", but the specifics 
> > escape me. 
> > 
> > I have used x<-read.table("clipboard", header=F) to import from a txt 
> > file.  How do make this numeric?  Thanks, J.
> 
> x <- read.table("clipboard", header=F)
> x <- as.data.frame(lapply(x, as.numeric))
This is almost always wrong. If a column was erroneously converted to
a factor, it comes out as 1,2,3,4 even if the original values were
3.5,4,5.6,10.2. as.numeric(as.character(....)) is a better bet but a
bit silly for those columns that were numeric to begin with.
You might try 
lapply(x,function(x) if (is.numeric(x)) x else
        as.numeric(as.character(x)) )
but probably better is to find out *why* a variable is not read as
numeric. It's usually because an least one value is not a number.
-- 
   O__  ---- Peter Dalgaard             Blegdamsvej 3  
  c/ /'_ --- Dept. of Biostatistics     2200 Cph. N   
 (*) \(*) -- University of Copenhagen   Denmark      Ph: (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)             FAX: (+45) 35327907
    
    
More information about the R-help
mailing list