Replaces NaNs in the primary data with the chosen value or removes rows containing NaNs
Usage
nan_filter(
dat,
project,
x = NULL,
replace = FALSE,
remove = FALSE,
rep.value = "mean",
over_write = FALSE
)Arguments
- dat
Primary data containing information on hauls or trips. Table in the FishSET database contains the string 'MainDataTable'.
- project
Project name.
- x
Character string of variables to remove or replace NaNs.
- replace
Logical, If
TRUE, NaNs are replaced. Defaults toFALSE.- remove
Logical, if
TRUE, removes the entire row of the dataset where NaN is present. Defaults toFALSE.- rep.value
Value to replace all NaNs in a numeric column. Defaults to the mean value of the column. Other options include
"median"or a numeric value, e.g.rep.value = 0.- over_write
Logical, If
TRUE, saves data over previously saved data table in the FishSET database. Defaults toFALSE.
Value
If replace and remove are FALSE then a statement
of whether NaNs are found is returned. If either replace or remove
is TRUE the modified primary dataset is returned.
Details
To check for NaNs across dat run the function specifying only
dat (nan_filter(dataset, project)). The function will return
a statement of which variables, if any, contain NaNs. To remove NaNs, use
remove = TRUE. All rows containing NaNs in x will be removed
from dat. To replace NaNs, use replace = TRUE. If both
replace and remove are TRUE then replace is used.
If replace is FALSE and rep.value is not defined, then
NaNs are replaced with mean value. The modified dataset will be returned
if replace = TRUE or remove = TRUE. Save the modified data
table to the FishSET database by setting over_write = TRUE).
Examples
if (FALSE) {
nan_filter(pcodMainDataTable, 'pcod', 'OFFICIAL_TOTAL_CATCH_MT')
mod.dat <- nan_filter(pcodMainDataTable, 'pcod', 'OFFICIAL_TOTAL_CATCH_MT',
replace = TRUE)
mod.dat <- nan_filter(pcodMainDataTable, 'pcod', 'OFFICIAL_TOTAL_CATCH_MT',
replace = TRUE, rep.value = 0)
mod.dat <- nan_filter(pcodMainDataTable, 'pcod', 'OFFICIAL_TOTAL_CATCH_MT',
remove = TRUE)
}
