Check Data Range -- function that checks for allowable values
Check Data Range -- function that checks for allowable values
Check Data Range -- function that checks for allowable values.
.checkRange(df, var, varScrn =NULL, numNA =FALSE, deleteOption ="pass")
Arguments
df: Data frame with data to check
var: Variable to perform screen check on
varScrn: Range to check (see examples)
numNA: How to treat missing numeric values (TRUE: treat as pass, FALSE[default]: treat as fail)
deleteOption: Option for how to return df ("pass": return rows that pass check, "fail": return rows that fail check, "mark": return column with TRUE/FALSE for pass/fail)
Returns
data frame modified based on user selected options. see attributes for screening results
Examples
# create an example data framedf <- data.frame( x1 = c("X1","Y2","A1","B2","C1","X1","","A1","","C1"), x2 = seq(5,14)+ runif(10), x3 = as.POSIXct(c("1/10/2008","1/21/2008","3/1/2008","3/26/1993","11/1/2012","6/10/2000","8/2/1990","7/8/2005","1/6/2008","9/11/2008"), format="%m/%d/%Y"), stringsAsFactors =FALSE)# add a few missing valuesdf[1,1]=NAdf[3,2]=NAdf[5,3]=NAdf
# establish allowable values for screeningx1Scrn <- as.character(c("A1","B2","C1","Y2"))# characterx2Scrn <- c(7,13)# min/max valuex3Scrn <- as.POSIXct(c("1999-01-01","2008-09-10"))# min/max date # (POSIXct format)# return df with new column indicating pass [TRUE] / fail [FALSE].checkRange(df, var="x1", varScrn=x1Scrn, numNA=FALSE, deleteOption='mark').checkRange(df, var="x2", varScrn=x2Scrn, numNA=FALSE, deleteOption='mark').checkRange(df, var="x3", varScrn=x3Scrn, numNA=FALSE, deleteOption='mark')# return df with only rows that pass check.checkRange(df, var="x1", varScrn=x1Scrn, numNA=FALSE, deleteOption='pass').checkRange(df, var="x2", varScrn=x2Scrn, numNA=FALSE, deleteOption='pass').checkRange(df, var="x3", varScrn=x3Scrn, numNA=FALSE, deleteOption='pass')