diff --git a/R/processQWData.r b/R/processQWData.r index 1bf93416818372b9f8aa61e4f041d9be9d96fee1..91106898bf6834df3607f844f873295c8055345e 100644 --- a/R/processQWData.r +++ b/R/processQWData.r @@ -4,7 +4,8 @@ #' conditions to determine if a value is left censored or not. Censored values are given the qualifier #' "<". The dataframe is also converted from a long to wide format. #' -#' @param data dataframe from +#' @param data dataframe from Water Quality Portal +#' @param pCode logical if TRUE, assume data came from a pCode search, if FALSE, characteristic name. #' @keywords data import USGS web service #' @return data dataframe with first column dateTime, and at least one qualifier and value columns #' (subsequent qualifier/value columns could follow depending on the number of parameter codes) @@ -13,7 +14,7 @@ #' # These examples require an internet connection to run #' rawSample <- getRawQWData('01594440','01075', '1985-01-01', '1985-03-31') #' rawSampleSelect <- processQWData(rawSample) -processQWData <- function(data){ +processQWData <- function(data,pCode=TRUE){ qualifier <- ifelse((data$ResultDetectionConditionText == "Not Detected" | data$ResultDetectionConditionText == "Detected Not Quantified" | @@ -37,8 +38,15 @@ processQWData <- function(data){ warning(warningMessage) } - colnames(test)<- c("USGSPCode","dateTime","qualifier","value") - data <- suppressWarnings(reshape(test, idvar="dateTime", timevar = "USGSPCode", direction="wide")) + if (pCode){ + colnames(test)<- c("USGSPCode","dateTime","qualifier","value") + newTimeVar <- "USGSPCode" + } else { + colnames(test)<- c("CharacteristicName","dateTime","qualifier","value") + newTimeVar <- "CharacteristicName" + } + + data <- suppressWarnings(reshape(test, idvar="dateTime", timevar = newTimeVar, direction="wide")) data$dateTime <- format(data$dateTime, "%Y-%m-%d") data$dateTime <- as.Date(data$dateTime) return(data)