Updates an IQRdataGENERAL object for a specific BLLOQ handling method

This function allows to handle BLOQ data in several different ways by updating the IQRdataOBJECT according to needs. As BLLOQ handling methods standard Beales Methods for NONMEM are considered (see below in details).

blloq_IQRdataGENERAL(data, methodBLLOQ = "M1")



IQRdataGENERAL object


Character string, determining the method to use. Allowed are: "M1","M3","M4","M5","M6", and "M7"


An updated IQRdataOBJECT with handled BLLOQ information


  • M1: Ignore values below LLOQ (MDV=1 , CENS=0)

  • M3: Estimate likelihood at times measurements are BLLOQ (CENS=1 and DV=BLOQ)

  • M4: Like M3 but also assume measurements are >=0 (CENS=1 and DV=BLOQ)

  • M5: Replace all BLLOQ with LLOQ/2 (DV=LLOQ/2, CENS=0)

  • M6: Replace first BLLOQ with LLOQ/2, ignore others (CENS=0, DV=LLOQ/2, MDV=0 for first occurence in a sequence, MDV=1 for following in sequence)

  • M7: Replace all BLLOQ with zero (DV=0, CENS=0, MDV=0)

IQRtools handles all on the level of the dataset - even for the M3 and M4 methods. The NONMEM models will be automatically adapted to the chosen method. The changes in the dataset for M3 and M4 methods are identical and the choice between M3 or M4 is done when generating the NONMEM model. In MONOLIX instead of M3 or M4 the MONOLIX own method is used.

Each record that obtains MDV=1 through this function will also obtain an entry in the IGNORE column (if not yet present). It will be "BLLOQ (Mx)" where the x is replaced by the number of the method that is being used.

Records that are already IGNORED by having set the IGNORE column and MDV=1 are not considered and remain unchanged.

See also

Other IQRdataGeneral: +.IQRdataGENERAL, IQRcalcTAD, IQRdataGENERAL, IQRexpandADDLII, IQRloadCSVdata, IQRsaveCSVdata, addIndivRegressors_IQRdataGENERAL, addLabel_IQRdataGENERAL, attributes0, blloqInfo_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, handleSameTimeObs_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