createTDR {diveMove} | R Documentation |
Read comma-delimited file with "TDR" data
Description
Read a delimited (*.csv) file containing time-depth recorder
(TDR) data from various TDR models. Return a
TDR
or TDRspeed
object. createTDR
creates an
object of one of these classes from other objects.
Usage
createTDR(
time,
depth,
concurrentData = data.frame(matrix(ncol = 0, nrow = length(time))),
speed = FALSE,
dtime,
file
)
readTDR(
file,
dateCol = 1,
timeCol = 2,
depthCol = 3,
speed = FALSE,
subsamp = 5,
concurrentCols = 4:6,
dtformat = "%d/%m/%Y %H:%M:%S",
tz = "GMT",
...
)
Arguments
time |
A |
depth |
numeric vector with depth readings. |
concurrentData |
|
speed |
logical: whether speed is included in one of the columns of concurrentCols. |
dtime |
numeric scalar: sampling interval used in seconds. If
missing, it is calculated from the |
file |
character: a string indicating the path to the file to
read. This can also be a text-mode connection, as allowed in
|
dateCol |
integer: column number containing dates, and optionally, times. |
timeCol |
integer: column number with times. |
depthCol |
integer: column number containing depth readings. |
subsamp |
numeric scalar: subsample rows in |
concurrentCols |
integer vector of column numbers to include as concurrent data collected. |
dtformat |
character: a string specifying the format in which the
date and time columns, when pasted together, should be interpreted
(see |
tz |
character: a string indicating the time zone assumed for the date and time readings. |
... |
Passed to |
Details
The input file is assumed to have a header row identifying each field,
and all rows must be complete (i.e. have the same number of fields).
Field names need not follow any convention. However, depth and speed
are assumed to be in m, and m \cdot s^{-1}
, respectively,
for further analyses.
If speed is TRUE and concurrentCols contains a column named speed
or velocity, then an object of class TDRspeed
is created,
where speed is considered to be the column matching this name.
Value
An object of class TDR
or TDRspeed
.
Functions
-
readTDR
: Create TDR object from file
Note
Although TDR
and TDRspeed
classes
check that time stamps are in increasing order, the integrity of
the input must be thoroughly verified for common errors present in
text output from TDR devices such as duplicate records,
missing time stamps and non-numeric characters in numeric fields.
These errors are much more efficiently dealt with outside of
GNU using tools like GNU awk
or GNU sed
, so
diveMove
does not currently attempt to fix these
errors.
Author(s)
Sebastian P. Luque spluque@gmail.com
Examples
## Do example to define object zz with location of dataset
utils::example("dives", package="diveMove",
ask=FALSE, echo=FALSE)
srcfn <- basename(zz)
readTDR(zz, speed=TRUE, sep=";", na.strings="", as.is=TRUE)
## Or more pedestrian
tdrX <- read.csv(zz, sep=";", na.strings="", as.is=TRUE)
date.time <- paste(tdrX$date, tdrX$time)
tdr.time <- as.POSIXct(strptime(date.time, format="%d/%m/%Y %H:%M:%S"),
tz="GMT")
createTDR(tdr.time, tdrX$depth, concurrentData=data.frame(speed=tdrX$speed),
file=srcfn, speed=TRUE)