This function check that the duration of each interview is more than a specified threshold. There is an option to automatically mark for deletion the surveys which are under the threshold. Warning: If there are uncorrected mistakes in the survey dates, it can lead to have the length of the survey in seconds and this check will not performed well

isInterviewTooShort(
  ds = NULL,
  surveyConsent = NULL,
  dates = NULL,
  minimumSurveyDuration = 30,
  reportingColumns = c(enumeratorID, uniqueID),
  deleteIsInterviewTooShort = 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'))

minimumSurveyDuration

minimum acceptable survey duration in minutes: integer

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',...))

deleteIsInterviewTooShort

(Optional, by default set as FALSE) if TRUE, the survey in error will be marked as 'deletedIsInterviewTooShort': 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" minimumSurveyDuration <- 30 reportingColumns <- c(enumeratorID, uniqueID) list[dst,ret_log,var,graph] <- isInterviewTooShort(ds=ds, surveyConsent=surveyConsent, dates=dates, minimumSurveyDuration=minimumSurveyDuration, reportingColumns=reportingColumns, deleteIsInterviewTooShort=FALSE) head(ret_log, 10) print(graph) }