handleFlags,ctd-method {oce} | R Documentation |
Data-quality flags are stored in the metadata
slot of oce-class
objects in a
list
named flags
.
The present function (a generic that has specialized versions
for various data classes) provides a way to
manipulate the core data based on
the data-quality flags. For example, a common operation is to replace suspicious
or erroneous data with NA
.
If metadata$flags
in the object supplied as the first argument
is empty, then that object is returned, unaltered.
Otherwise, handleFlags
analyses the data-quality flags within
the object, in relation to the flags
argument, and interprets
the action
argument to select an action to be applied to matched
data.
## S4 method for signature 'ctd' handleFlags(object, flags = NULL, actions = NULL, debug = getOption("oceDebug"))
object |
A |
flags |
A |
actions |
An optional |
debug |
An optional integer specifying the degree of debugging, with
value 0 meaning to skip debugging and 1 or higher meaning to print some
information about the arguments and the data. It is usually a good idea to set
this to 1 for initial work with a dataset, to see which flags are being
handled for each data item. If not supplied, this defaults to the value of
|
1. https://www.nodc.noaa.gov/woce/woce_v3/wocedata_1/whp/exchange/exchange_format_desc.htm
Other functions relating to data-quality flags: defaultFlags
,
handleFlags,adp-method
,
handleFlags,argo-method
,
handleFlags,section-method
,
handleFlags
,
initializeFlagScheme,ctd-method
,
initializeFlagScheme,oce-method
,
initializeFlagScheme,section-method
,
initializeFlagScheme
,
initializeFlags,adp-method
,
initializeFlags,oce-method
,
initializeFlags
,
setFlags,adp-method
,
setFlags,ctd-method
,
setFlags,oce-method
, setFlags
Other things related to ctd
data: [[,ctd-method
,
[[<-,ctd-method
, as.ctd
,
cnvName2oceName
, ctd-class
,
ctdDecimate
, ctdFindProfiles
,
ctdRaw
, ctdTrim
,
ctd
, initialize,ctd-method
,
initializeFlagScheme,ctd-method
,
oceNames2whpNames
,
oceUnits2whpUnits
,
plot,ctd-method
, plotProfile
,
plotScan
, plotTS
,
read.ctd.itp
, read.ctd.odf
,
read.ctd.sbe
,
read.ctd.woce.other
,
read.ctd.woce
, read.ctd
,
setFlags,ctd-method
,
subset,ctd-method
,
summary,ctd-method
,
woceNames2oceNames
,
woceUnit2oceUnit
, write.ctd
library(oce) data(section) stn <- section[["station", 100]] # 1. Default: anything not flagged as 2 is set to NA, to focus # solely on 'good', in the World Hydrographic Program scheme. STN1 <- handleFlags(stn, flags=list(c(1, 3:9))) data.frame(old=stn[["salinity"]], new=STN1[["salinity"]], salinityFlag=stn[["salinityFlag"]]) # 2. Use bottle salinity, if it is good and ctd is bad replace <- 2 == stn[["salinityBottleFlag"]] && 2 != stn[["salinityFlag"]] S <- ifelse(replace, stn[["salinityBottle"]], stn[["salinity"]]) STN2 <- oceSetData(stn, "salinity", S) # 3. Use smoothed TS relationship to nudge questionable data. f <- function(x) { S <- x[["salinity"]] T <- x[["temperature"]] df <- 0.5 * length(S) # smooths a bit sp <- smooth.spline(T, S, df=df) 0.5 * (S + predict(sp, T)$y) } par(mfrow=c(1,2)) STN3 <- handleFlags(stn, flags=list(salinity=c(1,3:9)), action=list(salinity=f)) plotProfile(stn, "salinity", mar=c(3, 3, 3, 1)) p <- stn[["pressure"]] par(mar=c(3, 3, 3, 1)) plot(STN3[["salinity"]] - stn[["salinity"]], p, ylim=rev(range(p)))