Skip to contents

This function check that all interviews in the dataset have an ID which is unique. There is an option to automatically mark for deletion the surveys which have a duplicated unique ID.

Usage

isuniquerespondantIDDuplicated(
  ds = NULL,
  uniquerespondantID = NULL,
  surveyConsent = NULL,
  attempt = NULL,
  reportingColumns = c(enumeratorID, uniquerespondantID, attempt),
  deleteIsuniquerespondantIDDuplicated = FALSE
)

Arguments

ds

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

uniquerespondantID

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

surveyConsent

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

attempt

name of the field in the dataset where the interview attempt output is stored: string

reportingColumns

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

deleteIsuniquerespondantIDDuplicated

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

checkperiod

if not null number of day before today when the check should be made

consentForValidSurvey

value defined in the kobo form to acknowledge the surveyed person gave his consent: string

enumeratorID

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

Value

result a list that includes: * 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)

Examples

load(system.file("sample_dataset.RData", package = "HighFrequencyChecks"))
ds <- sample_dataset
uniquerespondantID <- "X_uuid"
surveyConsent <- "survey_consent"
enumeratorID <- "enumerator_id"
reportingColumns <- c(enumeratorID, uniquerespondantID)

result <- isuniquerespondantIDDuplicated(ds = ds,
                               uniquerespondantID=uniquerespondantID,
                               surveyConsent=surveyConsent,
                               reportingColumns=reportingColumns,
                               deleteIsuniquerespondantIDDuplicated=FALSE)
knitr::kable(head(result[["ret_log"]], 10)) 
#> 
#> 
#> |    | enumerator_id|X_uuid |survey_consent |
#> |:---|-------------:|:------|:--------------|
#> |194 |            46|       |yes            |
print(result[["graph"]])