It appears that you MUST use the colClasses= argument with read.xlsx2: Foglio1 <- read.xlsx2("mydb.xlsx", 1, colClasses=c("Date", rep("numeric", 14)))
However, e and n are converted to NaN not NA so you would need to convert those columns (at least, I didn't check for missing values in the other columns): > Foglio1$e <- ifelse(is.nan(Foglio1$e), NA, Foglio1$e) > Foglio1$n <- ifelse(is.nan(Foglio1$n), NA, Foglio1$n) > str(Foglio1) 'data.frame': 1489 obs. of 15 variables: $ Date: Date, format: "2001-08-17" "2001-08-20" ... $ 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 > -----Original Message----- > From: r-help-boun...@r-project.org [mailto:r-help-bounces@r- > project.org] On Behalf Of David L Carlson > Sent: Monday, March 18, 2013 3:22 PM > To: 'Pietro'; 'Berend Hasselman' > Cc: r-h...@stat.math.ethz.ch > Subject: Re: [R] data.frame with NA > > 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-boun...@r-project.org [mailto:r-help-bounces@r- > > project.org] On Behalf Of Pietro > > Sent: Monday, March 18, 2013 1:57 PM > > To: Berend Hasselman > > Cc: r-h...@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 <freeri...@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@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. > > ______________________________________________ > R-help@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. ______________________________________________ R-help@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.