[R] data.frame with NA

David L Carlson dcarlson at tamu.edu
Mon Mar 18 21:21:41 CET 2013


Try this

Open the spreadsheet in Excel. Select all of the data click Copy. Don't
close Excel.

Open R and type the following command:

> Foglio1 <- read.table("clipboard-128", header=TRUE, sep="\t")

Now take a look at the structure of the data.frame

> str(Foglio1)
'data.frame':   1489 obs. of  15 variables:
 $ Date: Factor w/ 1489 levels "1/10/2002","1/10/2003",..: 1275 1291 1295
1299 1304 1309 1321 1325 1329 1337 ...
 $ a   : num  202 201 202 201 202 ...
 $ b   : num  231 230 230 230 232 ...
 $ c   : num  177 179 181 180 182 ...
 $ d   : num  277 277 276 276 275 ...
 $ e   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ f   : num  275 277 279 279 279 ...
 $ g   : num  91.7 90.7 90.8 91.1 91 ...
 $ h   : num  11446 11258 11280 11396 11127 ...
 $ i   : num  388 389 393 392 393 ...
 $ l   : num  93.2 94 92.4 93.4 93.1 ...
 $ m   : num  128 127 126 129 130 ...
 $ n   : num  NA NA NA NA NA NA NA NA NA NA ...
 $ o   : num  133 133 133 133 133 ...
 $ p   : num  107 107 107 107 107 ...

----------------------------------------------
David L Carlson
Associate Professor of Anthropology
Texas A&M University
College Station, TX 77843-4352

> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-
> project.org] On Behalf Of Pietro
> Sent: Monday, March 18, 2013 1:57 PM
> To: Berend Hasselman
> Cc: r-help at stat.math.ethz.ch
> Subject: Re: [R] data.frame with NA
> 
> Yes, it's true Berend!
> 
> What i do is simply use read.xlsx  function
> 
> db <- read.xlsx2("c:/mydb.xlsx",1,as.data.frame=T)
> 
> This is excel file i use:
> http://dl.dropbox.com/u/102669/mydb.xlsx
> 
> I can't find  a way to import as numeric.
> My objective is to be able to work (in R) with my NA's
> 
> 
> At 18.46 18/03/2013, Berend Hasselman wrote:
> 
> >On 18-03-2013, at 16:49, Pete <freerisk3 at gmail.com> wrote:
> >
> > >
> > > I have this little data.frame
> > >
> > > http://dl.dropbox.com/u/102669/nanotna.rdata
> > >
> > > Two column contains NA, so the best thing to do is use na.locf
> > function (with
> > > fromLast = T)
> > >
> > > But locf function doesn't work because NA in my data.frame are
> > not recognized as
> > > real NA.
> > >
> > > Is there a way to substitute fake NA with real NA? In this case
> > na.locf function
> > > should work
> > >
> >
> >Your data are all characters. Do
> >
> >str(db)
> >
> >to see that. What is probably supposed to be numeric is also
> character,
> >Somehow you have managed to read in data that R thinks is all chr.
> >Your NA are "NA" in reality: a character string "NA".
> >
> >You will have to review the method you used to get the data into R.
> >And make sure that what you want to be numeric is indeed numeric.
> >Then you can start to think about doing something about the NA's.
> >
> >Berend
> 
> ______________________________________________
> R-help at r-project.org 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.



More information about the R-help mailing list