Various pems.utils functions to make and import data as pems objects.
#making pems objects
is.pems(x, full.test = TRUE, ...)pems(x, units = NULL, constants = NULL, history = NULL,
...)
pems.element(x, name = NULL, units = NULL,
...)
#associated
isPEMS(...)
makePEMS(...)
makePEMSElement(...)
rebuildPEMS(x, ...)
# S3 method for data.frame
as.pems(x, ...)
#importing data as pems objects
#general
import2PEMS(file.name = file.choose(), ...,
file.reader = read.delim,
output="pems")
importTAB2PEMS(..., file.reader = read.delim)
importCSV2PEMS(..., file.reader = read.csv)
#Horiba OBS
importOBS2PEMS(file.name = file.choose(),
pems = "Horiba OBS",
constants = NULL, history = NULL,
analytes = c("co", "co2", "nox", "hc"),
fuel = c("petrol", "diesel", "gasoline"), ...)
importOB12PEMS(file.name = file.choose(),
pems = "Horiba OBS",
constants = NULL, history = NULL,
analytes = c("co", "co2", "nox", "hc"),
fuel = c("petrol", "diesel", "gasoline"), ...)
#3DATX parSYNC
importParSYNC2PEMS(file.name = file.choose(),
reset.signals = TRUE,
history = NULL, constants = NULL,
pm.analyzer = "parSYNC", ... )
#3DATX CAGE
importCAGE2PEMS(..., calibrator = "CAGE")
#Sensors Inc SEMTECH
importSEMTECH2PEMS(file.name = file.choose(),
history = NULL, constants = NULL,
pems = "SEMTECH", ...)
#RoyalTek GPS
importRoyalTek2PEMS(file.name = file.choose(),
file.type = c("special", "txt", "nmea"),
vbox = "RoyalTEk", history = NULL,
constants = NULL, ...)
#KML files
importKML2PEMS(file.name = file.choose(), history = NULL,
constants = NULL, source = "Unknown", ...)
is.pems return a logical, TRUE if the supplied object is pems class,
otherwise FALSE. If the argument full.test = TRUE is also supplied, additional
information about the object is returned as comment(output).
pems and pems.element functions return pems and pems.element
objects, respectively, made using the supplied file and any additional information also supplied in the same call.
rebuildPEMS rebuilts the supplied pems object. The default rebuilds as the lastest
build structure.
import... functions return a pems object, made using the supplied file and any
additional information also supplied in the same call.
(A required object) For is.pems, any object to
be tested as a pems object.
For pems, an object to be used as the starting
point to make a pems object, so typically a
data.frame or another pems object. For
pems.element, an object to be used as the starting
point to make a pems.element.
For rebuildPEMS, a pems object to be
rebuilt.
(Logical) For is.pems, should the full pems
test be applied and the pems structure
confirmed?
(Optional) Other arguments, handling varies. For
is.pems these are ignored. For pems
these are added to the pems object unmodified. For
import... functions, these are passed on and
added to the constants component of the
pems object. Note: This different handling
is experimental and may be subject to change in future.
(Default pems arguments) These are arguments that are routinely generated for
pems objects. units holds unit ids for unit management, constants holds
constants that should used specifically with data in the pems object, and history
holds the pems object modification history.
(Default pems.element argument) name (and units) are arguments that are routinely
generated for pems.element objects.
(file connection, etc.) For import... functions, the file/source to be imported. Note: the
default, file.name = file.choose(), automatically opens a file browser if this argument is
not supplied.
Data reader parameters for some import... functions. file.type is the type of file
to be imported. Note: Some import... functions can handle more than one file type, and
file.type = "[option]" should be used to identify these. (Note: file.type options
are typically file type identifiers, such as the file extensions, and a default 'special',
which leaves the choice to the function. This way this option can typically be ignored unless, e.g.
the function does not recognise the file type but the user knows it and wants to force the method.)
file.reader identifies the R method/function that should be used to read data from the supplied
file. For example, for importTAB2PEMS and importCSV2PEMS, by default, these are the
standard R read... functions read.delim and read.csv,
respectively.
Where included in formal arguments, an option to control function output.
(Character vectors) For some import... functions, data source descriptions may be automatically
added to the pems object. pems and vbox are two examples, but others, such as
vehicle and fuel descritpions can also be added in a similar fashion. Note: These are for user-reference,
so can say whatever you want.
(Character vector) For import... functions, the names of any pems elements to be tagged as
analyte concentrations. Note: If the PEMS unit reports concentrations rather than emissions it is
often useful to identify these at import to avoid confusion, and to simplify later handling. So, if
encountered, analyte names are prefixed with the term 'conc.'.
Some import... functions that handle exhaust monitoring system data may assume fuel types when
calibrating inputs or calculating constants. In such cases the fuel argument is also included
to identify which fuel was used.
(Logical or Character vector) For importParSYNC2PEMS, should any raw signal be reset? The
default (TRUE) reverses the sign of opacity and ionization signals.
Karl Ropkins
is.pems tests if an object is/is not a pems object.
pems makes a pems object using supplied data and information.
pems.element makes a pems.element object using supplied data and information.
as.pems... functions attempt to convert a supplied object into a pems object.
Currently, there is only a data.frame method and (by default) a pems
method.
isPEMS, makePEMS and makePEMSElement are historical code, retained for
backward compatibility.
rebuildPEMS rebuilds pems object as a different build version.
Crude import... functions import simple file structures, and are useful for getting
data quickly into R:pems.utils. importTAB2PEMS imports tab delimited files and
clipboard content. importCSV2PEMS imports comma delimited files. Both assume a simple
file structure (i.e. data series in columns with names as headers), but require some time data
management by the user. Note: These are wrappers for import2PEMS.
Other import... import specific file types.
importOBS2PEMS imports standard Horiba OBS files and converts them to pems
objects. See Notes below.
importOB12PEMS imports .OB1 files and converts them to pems objects. OB1
files are generated by a Visual Basic PEMS data handler used during the RETEMM project. Notes below.
importParSYNC2PEMS imports standard parSYNC files and converts them to pems
objects. See Notes below.
importCAGE2PEMS imports standard CAGE files and converts them to pems objects.
See importParSYNC2PEMS Notes below.
importSEMTECH2PEMS imports Sensors Inc. SEMTECH ECOSTAR files and converts them to pems
objects. See Notes below.
importRoyalTek2PEMS imports .txt and .nmea format Royal Tek GPS files and
converts them to pems objects. See Notes below.
importKML2PEMS imports .kml format KML files and
converts them to pems objects. See Notes below.
References in preparation.
See ref.unit.conversions and convertUnits for general unit handling;
merge.pems for pems data merging and alignment.
###########
##example 1
###########
#make little pems
data <- data.frame(speed=1:10, emissions=1:10)
units <- c("m/s", "g/s")
pems <- pems(x = data, units=units, example="my record")
pems #the pems object
summary(pems) #summary of held data
pems$speed #the speed pems.element
#import data file as pems using import... functions
#For example, to import CSV file as pems object
if (FALSE) {
pems <- importCSV2PEMS()
}
Run the code above in your browser using DataLab