This function check that all interviews in the dataset start before they end. There is an option to automatically mark for deletion the surveys which have an ending date/time before the starting ones.

isSurveyEndBeforeItStarts(
  ds = NULL,
  surveyConsent = NULL,
  dates = NULL,
  reportingColumns = c(enumeratorID, uniqueID),
  deleteIsSurveyEndBeforeItStarts = FALSE
)

Arguments

ds

dataset containing the survey (from kobo): data.frame

surveyConsent

name of the field in the dataset where the survey consent is stored: string

dates

name of the fields where the information about the start and end date of the survey is stored: list of string (c('start_date','end_date'))

reportingColumns

(Optional, by default it is built from the enumeratorID and the UniqueID) name of the columns from the dataset you want in the result: list of string (c('col1','col2',...))

deleteIsSurveyEndBeforeItStarts

(Optional, by default set as FALSE) if TRUE, the survey in error will be marked as 'deletedIsSurveyEndBeforeItStarts': boolean (TRUE/FALSE)

uniqueID

name of the field where the survey unique ID is stored: string

enumeratorID

name of the field where the enumerator ID is stored: string

Value

dst same dataset as the inputed one but with survey marked for deletion if errors are found and delete=TRUE (or NULL)

ret_log list of the errors found (or NULL)

var a list of value (or NULL)

graph graphical representation of the results (or NULL)

Author

Yannick Pascaud

Examples

{ ds <- HighFrequencyChecks::sample_dataset surveyConsent <- "survey_consent" dates <- c("survey_start","end_survey") uniqueID <- "X_uuid" enumeratorID <- "enumerator_id" reportingColumns <- c(enumeratorID, uniqueID) list[dst,ret_log,var,graph] <- isSurveyEndBeforeItStarts(ds=ds, surveyConsent=surveyConsent, dates=dates, reportingColumns=reportingColumns, deleteIsSurveyEndBeforeItStarts=FALSE) head(ret_log, 10) }
#> [1] enumerator_id X_uuid survey_start survey_end #> <0 rows> (or 0-length row.names)