Skip to content

Commit

Permalink
adding sample depth to remove outliers
Browse files Browse the repository at this point in the history
  • Loading branch information
clairedavies committed Nov 16, 2023
1 parent 234baac commit eeae51b
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 15 deletions.
36 changes: 22 additions & 14 deletions R/utils.R
Expand Up @@ -390,7 +390,6 @@ pr_apply_Time <- function(df){
#'
#' @examples
#' df <- pr_get_Indices("NRS", "Z") %>% pr_remove_outliers(2)
#' df <- pr_get_Indices("CPR", "Z") %>% pr_remove_outliers(2)
pr_remove_outliers <- function(df, x){

if("StationCode" %in% colnames(df)){
Expand All @@ -403,19 +402,28 @@ pr_remove_outliers <- function(df, x){

df <- df %>% dplyr::mutate(Values = ifelse(.data$Values < 0, 0, .data$Values))

outliers <- df %>%
dplyr::group_by(.data$Parameters, !!location) %>%
dplyr::summarise(means = mean(.data$Values, na.rm = TRUE),
sd2 = 2*sd(.data$Values, na.rm = TRUE),
meanplus = .data$means + .data$sd2,
meanminus = .data$means - .data$sd2,
.groups = 'drop') %>%
dplyr::select(-c("means", "sd2"))

added <- df %>%
dplyr::left_join(outliers, by = c("Parameters", joiner)) %>%
dplyr::filter(.data$Values < .data$meanplus & .data$Values > .data$meanminus) %>%
dplyr::select(-c("meanplus", "meanminus"))
if('SampleDepth_m' %in% colnames(df)){
depth <- rlang::sym("SampleDepth_m")
joiner2 <- "SampleDepth_m"
} else {
depth <- rlang::sym("StationName") # dummy variable
joiner2 <- "StationName"
}

outliers <- df %>%
dplyr::group_by(.data$Parameters, !!location, !!depth) %>%
dplyr::summarise(means = mean(.data$Values, na.rm = TRUE),
sd2 = 2*sd(.data$Values, na.rm = TRUE),
meanplus = .data$means + .data$sd2,
meanminus = .data$means - .data$sd2,
.groups = 'drop') %>%
dplyr::select(-c("means", "sd2"))

added <- df %>%
dplyr::left_join(outliers, by = c('Parameters', joiner, joiner2)) %>%
dplyr::filter(.data$Values < .data$meanplus & .data$Values > .data$meanminus) %>%
dplyr::select(-c("meanplus", "meanminus"))

}


Expand Down
1 change: 0 additions & 1 deletion man/pr_remove_outliers.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit eeae51b

Please sign in to comment.