Adds tiny noise to TIME when TIME same for NAME in USUBJID

If same observation in a subject is recorded more than once at the exact same time point then we add a tiny delta (defaults to 0.0001) to obtain different times. The function also adjusts TIMEPOS and TAD. Doses are not handled that way ... if double doses happen then this will result in errors at other places!

handleSameTimeObs_IQRdataGENERAL(data, timestep = 1e-04)

Arguments

data

IQRdataGENERAL object

timestep

Delta by which to separate same time points

Value

An IQRdataGENERAL object

Details

Both due to clinical database issues and programming issues it might happen that similar records in a dataset might have exactly the same time of assessment / administration. Normally, this should be solved during data cleaning and validation before making its way into the modeling dataset. However, it might still happen and modeling might not want to wait until the final data cleaning has happened - because then modeling is typically to late to impact any decisions.

For PK modeling such records typically are not an issue. However, for PD modeling where the dataset is augmented by regression parameters (concentration or PK parameters) this poses a problem, since the estimation software does see two regression variable assignments at the same time point and does not know what to do - and in the case of Monolix fails with an error.

See also

Other IQRdataGeneral: +.IQRdataGENERAL, IQRcalcTAD, IQRdataGENERAL, IQRexpandADDLII, IQRloadCSVdata, IQRsaveCSVdata, addIndivRegressors_IQRdataGENERAL, addLabel_IQRdataGENERAL, attributes0, blloqInfo_IQRdataGENERAL, blloq_IQRdataGENERAL, check_IQRdataGENERAL, clean_IQRdataGENERAL, combine_IQRdataGENERAL, convertCat2Text, covImpute_IQRdataGENERAL, date2dateday_IQRdataProgramming, date2datetime_IQRdataProgramming, date2time_IQRdataProgramming, exportDEFINE_IQRdataGENERAL, exportSYS_IQRdataGENERAL, export_IQRdataGENERAL, getLabels_dataframe, getNAcolNLME_IQRdataGENERAL, is_IQRdataGENERAL, loadATRinfo_csvData, loadAttributeFile, load_IQRdataGENERAL, mapCategoricalCovariate_IQRnlmeProject, mapCategoricalCovariate_csvData, mapContinuousCovariate_IQRnlmeProject, mapContinuousCovariate_csvData, mutateCov_IQRdataGENERAL, obfuscate_IQRdataGENERAL, plot.IQRdataGENERAL, plotCorCat_IQRdataGENERAL, plotCorCovCat_IQRdataGENERAL, plotCorCov_IQRdataGENERAL, plotCovDistribution_IQRdataGENERAL, plotDoseSchedule_IQRdataGENERAL, plotIndiv_IQRdataGENERAL, plotRange_IQRdataGENERAL, plotSampleSchedule_IQRdataGENERAL, plotSpaghetti_IQRdataGENERAL, print.IQRdataGENERAL, removeCommata_dataframe, rmAMT0_IQRdataGENERAL, rmDosePostLastObs_IQRdataGENERAL, rmIGNOREd_IQRdataGENERAL, rmMissingTIMEobsRecords_IQRdataGENERAL, rmNOobsSUB_IQRdataGENERAL, rmNonTask_IQRdataGENERAL, rmPLACEBO_IQRdataGENERAL, rmSubjects_IQRdataGENERAL, setIGNORErecords_IQRdataGENERAL, setMissingDVobsRecordsIGNORE_IQRdataGENERAL, subset.IQRdataGENERAL, summary.IQRdataGENERAL, summaryCat_IQRdataGENERAL, summaryCov_IQRdataGENERAL, summaryObservations_IQRdataGENERAL, transformObs_IQRdataGENERAL, unlabel_dataframe

Other IQRdataGeneral: +.IQRdataGENERAL, IQRcalcTAD, IQRdataGENERAL, IQRexpandADDLII, IQRloadCSVdata, IQRsaveCSVdata, addIndivRegressors_IQRdataGENERAL, addLabel_IQRdataGENERAL, attributes0, blloqInfo_IQRdataGENERAL, blloq_IQRdataGENERAL, check_IQRdataGENERAL, clean_IQRdataGENERAL, combine_IQRdataGENERAL, convertCat2Text, covImpute_IQRdataGENERAL, date2dateday_IQRdataProgramming, date2datetime_IQRdataProgramming, date2time_IQRdataProgramming, exportDEFINE_IQRdataGENERAL, exportSYS_IQRdataGENERAL, export_IQRdataGENERAL, getLabels_dataframe, getNAcolNLME_IQRdataGENERAL, is_IQRdataGENERAL, loadATRinfo_csvData, loadAttributeFile, load_IQRdataGENERAL, mapCategoricalCovariate_IQRnlmeProject, mapCategoricalCovariate_csvData, mapContinuousCovariate_IQRnlmeProject, mapContinuousCovariate_csvData, mutateCov_IQRdataGENERAL, obfuscate_IQRdataGENERAL, plot.IQRdataGENERAL, plotCorCat_IQRdataGENERAL, plotCorCovCat_IQRdataGENERAL, plotCorCov_IQRdataGENERAL, plotCovDistribution_IQRdataGENERAL, plotDoseSchedule_IQRdataGENERAL, plotIndiv_IQRdataGENERAL, plotRange_IQRdataGENERAL, plotSampleSchedule_IQRdataGENERAL, plotSpaghetti_IQRdataGENERAL, print.IQRdataGENERAL, removeCommata_dataframe, rmAMT0_IQRdataGENERAL, rmDosePostLastObs_IQRdataGENERAL, rmIGNOREd_IQRdataGENERAL, rmMissingTIMEobsRecords_IQRdataGENERAL, rmNOobsSUB_IQRdataGENERAL, rmNonTask_IQRdataGENERAL, rmPLACEBO_IQRdataGENERAL, rmSubjects_IQRdataGENERAL, setIGNORErecords_IQRdataGENERAL, setMissingDVobsRecordsIGNORE_IQRdataGENERAL, subset.IQRdataGENERAL, summary.IQRdataGENERAL, summaryCat_IQRdataGENERAL, summaryCov_IQRdataGENERAL, summaryObservations_IQRdataGENERAL, transformObs_IQRdataGENERAL, unlabel_dataframe