On Sun, 5 Sep 2010, Roberto Badilla Fuentes wrote:

Hi,

I have a dataset in .dbf format.  It contains Coordinates and Time.
The TIMESTAMP is as follows:

 03/18/2006 13:30:37
I am not working with the TIMESTAMP column, but when I print out my
manipulated dataset using
*write.dbf*  I get the value *390 *where the TIMESTAMP value should be.  Can
Anyone help me out why R does this
and how I can correct it.

Please quote all code verbatim. You have not said how you read the data, whether the class representation of the data in R was what you thought it was, not how you wrote it out (exactly). You probably used read.dbf() in the foreign package, and write.dbf() to write the data.frame object out again.

Try:

library(foreign)
x <- read.dbf(system.file("files/sids.dbf", package="foreign")[1])
str(x)
# check the class representations
summary(x)
attr(x, "data_types")
# should show "D" for any fields seen as date/time, none here yet
Dv <- seq(as.POSIXlt("1990-01-01"), as.POSIXlt("2000-01-01"),
  length.out=100)
x$Dv <- as.Date(Dv)
str(x)
summary(x)
tf <- paste(tempfile(), ".dbf", sep="")
write.dbf(x, tf)
xx <- read.dbf(tf)
str(xx)
summary(xx)
attr(xx, "data_types")

Note from ?write.dbf that all date/time representations must be coerced to Date. It is very possible that your *390* is the internal representation, and needs print()ing to show its human-readable version.

Hope this helps,

Roger



Thanks
-Roberto

        [[alternative HTML version deleted]]

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo


--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: roger.biv...@nhh.no

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to