Subset an argo object, either by selecting just the "adjusted" data or by subsetting by pressure or other variables.

# S4 method for argo
subset(x, subset, ...)

Arguments

x

an argo object.

subset

An expression indicating how to subset x.

...

optional arguments, of which only the first is examined. The only possibility is within, a polygon enclosing data to be retained. This must be either a list or data frame, containing items named either x and y or longitude and latitude; see Example 4. If within is given, then subset is ignored.

Value

An argo object.

Details

If subset is the string "adjusted", then subset replaces the station variables with their adjusted counterparts. In the argo notation, e.g. PSAL is replaced with PSAL_ADJUSTED; in the present notation, this means that salinity in the data slot is replaced with salinityAdjusted, and the latter is deleted. Similar replacements are also done with the flags stored in the metadata slot.

If subset is an expression, then the action is somewhat similar to other subset functions, but with the restriction that only one independent variable may be used in in any call to the function, so that repeated calls will be necessary to subset based on more than one independent variable. Subsetting may be done by anything stored in the data, e.g. time, latitude, longitude, profile, dataMode, or pressure or by profile (a made-up variable) or id (from the metadata slot). Note that subsetting by pressure preserves matrix shape, by setting discarded values to NA, as opposed to dropping data (as is the case with time, for example).

See also

Examples

library(oce) data(argo) # Example 1: buset by time, longitude, and pressure par(mfrow=c(2,2)) plot(argo) plot(subset(argo, time > mean(time))) plot(subset(argo, longitude > mean(longitude))) plot(subset(argoGrid(argo), pressure > 500 & pressure < 1000), which=5)
# Example 2: restrict attention to delayed-mode profiles. par(mfrow=c(1, 1)) plot(subset(argo, dataMode == "D"))
# Example 3: contrast corrected and uncorrected data par(mfrow=c(1,2)) plotTS(argo) plotTS(subset(argo, "adjusted"))
# Example 4. Subset by a polygon determined with locator() if (FALSE) { par(mfrow=c(2, 1)) plot(argo, which="map") bdy <- locator(4) # Click the mouse on 4 boundary points argoSubset <- subset(argo, within=bdy) plot(argoSubset, which="map") }